Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Filtro: CREATEFP()
- subu r30, r30, 12
- ld r20, r31, 8 ;Load Imagen
- ld r21, r31, 12 ;Load ImFiltrada
- ld r22, r31, 16 ;Load MFiltro
- ld r4, r20, 0 ;Load M Imagen
- st r4, r21, 0 ;Store M Imagen en ImFiltrada
- ld r5, r20, 4 ;Load N Imagen
- st r5, r21, 4 ;Store N Imagen en ImFiltrada
- or r2, r0, 0 ;r2 sera el contador de fila (i)
- or r3, r0, 0 ;r3 sera el contador de columna (j)
- or r6, r0, 0 ;r6 sera el indice de matriz de ImFiltrada
- add r6, r6, 8 ;Saltamos M y N y apuntamos al primer byte de la matriz ImFiltrada
- st r6, r31, -4 ;Guardamos el indice de ImFiltrada como local
- st r3, r31, -8 ;Guardamos j como local
- st r2, r31, -12 ;Guardamos i como local
- LOOP_N_F: PUSH(r22)
- PUSH(r3)
- PUSH(r2)
- PUSH(r20)
- bsr FilPixel ;Tras esto debemos asegurarnos de asegurarnos de restaurar los registros a los valores que queremos
- add r30, r30, 16
- ld r20, r31, 8 ;Load Imagen
- ld r21, r31, 12 ;Load ImFiltrada
- ld r22, r31, 16 ;Load MFiltro
- ld r4, r20, 0 ;Load M Imagen
- ld r5, r20, 4 ;Load N Imagen
- ld r6, r31, -4 ;Load indice
- ld r3, r31, -8 ;Load j
- ld r2, r31, -12 ;Load i
- st.b r29,r21, r6
- add r6, r6, 1 ;Aumentamos el indice de la matriz ImFiltrada
- add r3, r3, 1 ;j -> j+1
- st r6, r31, -4 ;Guardamos el indice de ImFiltrada como local
- st r3, r31, -8 ;Guardamos j como local
- cmp r7, r3, r5 ;Comparar j y n
- bb0 eq, r7, LOOP_N_F;Si j aun no es igual a N hacemos otra iteracion sobre la fila
- LOOP_M_F: add r2, r2, 1 ;i -> i+1
- st r2, r31, -12 ;Guardamos i como local
- or r3, r0, 0 ;Restaurar j al principio de la columna
- st r3, r31, -8 ;Guardamos j como local
- cmp r7, r2, r4 ;Comparar i y m
- bb0 eq, r7, LOOP_N_F;Si i aun no es igual a M hacemos otra iteracion sobre la siguiente fila
- FIN_FILTRO: DESTROYFP()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement