
ciclo que copia la imagen
By: a guest on
Apr 29th, 2012 | syntax:
ASM (NASM) | size: 0.74 KB | hits: 26 | expires: Never
section .text
ciclo_basico:
push rbp
mov rbp,rsp
movsxd rdx, edx ; paso los registros de 32 a 64
movsxd rcx, ecx
movsxd r8, r8d
movsxd r9, r9d
mov r10, rcx ; resguardo width para usar rcx para loopear
mov r11, r8
shr r8, 2 ; r8 = src_row_size/4, porque voy a trabajar con 4 pixeles por vez
.ciclo_filas:
mov rcx, r8 ; rcx = src_row_size/4
.ciclo_columnas:
movdqu xmm0, [rdi] ; xmm0 = d | c | b | a
movdqu [rsi], xmm0
add rdi, 4 ; avanzo punteros
add rsi, 4
loop .ciclo_columnas
dec rdx
cmp rdx, 0
jnz .ciclo_filas
pop rbp
ret