| 12345678910111213141516 |
- lea rsi, [r12 + r15 * PIXEL_SIZE] ; Origen: Primera fila no se procesa
- lea rdi, [rbx + r15 * PIXEL_SIZE] ; Destino: Primera fila no se procesa
- .ciclo:
- mov rcx, rdx ; Cargo el ancho -2 pixeles
- add rdi, PIXEL_SIZE ; Origen: Tengo que saltear el primer pixel
- add rsi, PIXEL_SIZE ; Destino: Tengo que saltear el primer pixel
- cld ; Flag de direccion (forward)
- rep movsd ; Repetime movsd
- inc rax ; Ya procese una fila, aumento
- add rdi, PIXEL_SIZE ; Salto ultimo pixel
- add rsi, PIXEL_SIZE
- cmp rax, r14
- jle .ciclo ; Mientras sea menor vuelvo al ciclo
- mov rdi, r12 ; Cargo parametro r12
- call free ; Libero la memoria
|