Advertisement
Guest User

Untitled

a guest
Dec 8th, 2019
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. Filtro:     CREATEFP()
  3.             subu r30, r30, 12
  4.             ld r20, r31, 8      ;Load Imagen
  5.             ld r21, r31, 12     ;Load ImFiltrada
  6.             ld r22, r31, 16     ;Load MFiltro
  7.             ld r4, r20, 0       ;Load M Imagen
  8.             st r4, r21, 0       ;Store M Imagen en ImFiltrada
  9.             ld r5, r20, 4       ;Load N Imagen
  10.             st r5, r21, 4       ;Store N Imagen en ImFiltrada
  11.             or r2, r0, 0        ;r2 sera el contador de fila (i)
  12.             or r3, r0, 0        ;r3 sera el contador de columna (j)
  13.             or r6, r0, 0        ;r6 sera el indice de matriz de ImFiltrada
  14.             add r6, r6, 8       ;Saltamos M y N y apuntamos al primer byte de la matriz ImFiltrada
  15.             st r6, r31, -4      ;Guardamos el indice de ImFiltrada como local
  16.             st r3, r31, -8      ;Guardamos j como local
  17.             st r2, r31, -12     ;Guardamos i como local
  18. LOOP_N_F:   PUSH(r22)
  19.             PUSH(r3)
  20.             PUSH(r2)
  21.             PUSH(r20)
  22.             bsr FilPixel        ;Tras esto debemos asegurarnos de asegurarnos de restaurar los registros a los valores que queremos
  23.             add r30, r30, 16
  24.             ld r20, r31, 8      ;Load Imagen
  25.             ld r21, r31, 12     ;Load ImFiltrada
  26.             ld r22, r31, 16     ;Load MFiltro
  27.             ld r4, r20, 0       ;Load M Imagen
  28.             ld r5, r20, 4       ;Load N Imagen
  29.             ld r6, r31, -4      ;Load indice
  30.             ld r3, r31, -8      ;Load j
  31.             ld r2, r31, -12     ;Load i
  32.             st.b r29,r21, r6
  33.             add r6, r6, 1       ;Aumentamos el indice de la matriz ImFiltrada
  34.             add r3, r3, 1       ;j -> j+1
  35.             st r6, r31, -4      ;Guardamos el indice de ImFiltrada como local
  36.             st r3, r31, -8      ;Guardamos j como local
  37.             cmp r7, r3, r5      ;Comparar j y n
  38.             bb0 eq, r7, LOOP_N_F;Si j aun no es igual a N hacemos otra iteracion sobre la fila
  39. LOOP_M_F:   add r2, r2, 1       ;i -> i+1
  40.             st r2, r31, -12     ;Guardamos i como local
  41.             or r3, r0, 0        ;Restaurar j al principio de la columna
  42.             st r3, r31, -8      ;Guardamos j como local
  43.             cmp r7, r2, r4      ;Comparar i y m
  44.             bb0 eq, r7, LOOP_N_F;Si i aun no es igual a M hacemos otra iteracion sobre la siguiente fila
  45. FIN_FILTRO: DESTROYFP()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement