Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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
Advertisement
Add Comment
Please, Sign In to add comment