Don't like ads? PRO users don't see any ads ;-)
Guest

ciclo que copia la imagen

By: a guest on Apr 29th, 2012  |  syntax: ASM (NASM)  |  size: 0.74 KB  |  hits: 26  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. section .text
  2.  
  3. ciclo_basico:
  4.  
  5.   push rbp
  6.   mov rbp,rsp
  7.  
  8.   movsxd rdx, edx               ; paso los registros de 32 a 64
  9.   movsxd rcx, ecx
  10.   movsxd r8, r8d
  11.   movsxd r9, r9d
  12.  
  13.   mov r10, rcx                  ; resguardo width para usar rcx para loopear
  14.   mov r11, r8
  15.   shr r8, 2                     ; r8 = src_row_size/4, porque voy a trabajar con 4 pixeles por vez
  16.  
  17.   .ciclo_filas:
  18.     mov rcx, r8                 ; rcx = src_row_size/4
  19.  
  20.     .ciclo_columnas:
  21.  
  22.       movdqu xmm0, [rdi]      ; xmm0 =  d | c | b | a
  23.      
  24.       movdqu [rsi], xmm0
  25.  
  26.       add rdi, 4                ; avanzo punteros
  27.       add rsi, 4
  28.        
  29.       loop .ciclo_columnas
  30.  
  31.     dec rdx
  32.     cmp rdx, 0
  33.     jnz .ciclo_filas
  34.  
  35.   pop rbp  
  36.  
  37.         ret