blur1_1.asm 444 B

123456789101112131415
  1. .pixel:
  2. movdqu xmm0, [rbx] ;guardo 4 pixeles, uno no me sirve
  3. pslldq xmm0, 4 ;destruyo al pixel que no me sirve
  4. movdqa xmm1, xmm0 ;copio
  5. pxor xmm4, xmm4
  6. punpcklbw xmm0, xmm4 ; xmm0 = 00000000 | 0r0g0b0a
  7. punpckhbw xmm1, xmm4 ; xmm1 = 0r0g0b0a | 0r0g0b0a
  8. paddw xmm2, xmm0
  9. paddw xmm2, xmm1
  10. ;tengo que sumar horizontalmente, o dividir en high y low y sumar eso
  11. add rbx, r9 ;me voy una fila para adelante
  12. dec r8
  13. cmp r8, 0
  14. jne .pixel