|
|
@@ -3,6 +3,7 @@ default rel global _blur_asm
|
|
|
global blur_asm
|
|
|
|
|
|
extern convulcion_matrix
|
|
|
+extern free
|
|
|
|
|
|
; Alias para no volverme loco con los registros
|
|
|
%define src rdi
|
|
|
@@ -15,7 +16,7 @@ extern convulcion_matrix
|
|
|
%define matriz r10
|
|
|
%define filas_faltan r11
|
|
|
%define col_faltan r12
|
|
|
-%define basura r13
|
|
|
+%define scratch r13
|
|
|
%define tmp_src rbp
|
|
|
; Algunos defines ultiles
|
|
|
%define PIXEL_SIZE 4
|
|
|
@@ -181,10 +182,10 @@ blur_asm:
|
|
|
jmp .loopFila
|
|
|
|
|
|
.retroceder:
|
|
|
- mov basura, PIXEL_SIZE*4;cargo 4 pixeles por tanda
|
|
|
- sub basura, col_faltan ;resto los que me faltan (1-3)
|
|
|
- sub src, basura ;retrocedo(1-3) para que me falten 4
|
|
|
- sub matriz, basura
|
|
|
+ mov scratch, PIXEL_SIZE*4;cargo 4 pixeles por tanda
|
|
|
+ sub scratch, col_faltan ;resto los que me faltan (1-3)
|
|
|
+ sub src, scratch ;retrocedo(1-3) para que me falten 4
|
|
|
+ sub matriz, scratch
|
|
|
jmp .loopFila
|
|
|
|
|
|
.finFilaInterna:
|
|
|
@@ -218,6 +219,8 @@ blur_asm:
|
|
|
jmp .iniciarFila
|
|
|
|
|
|
.fin:
|
|
|
+ mov rdi, r15 ;inicio de la matriz
|
|
|
+ call free ;libero
|
|
|
pop r15
|
|
|
pop r14
|
|
|
pop r13
|