maskmovq.asm 588 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. global _start
  2. section .data
  3. align 16
  4. quad0:
  5. dq 0x1234567890abcdef
  6. quad1:
  7. dq 0xffffffffffffffff
  8. mask0:
  9. dq 0x8080808080808080
  10. mask1:
  11. dq 0x10203080405080ff
  12. %include "header.inc"
  13. movq mm0, [quad0]
  14. movq mm1, [quad1]
  15. movq mm2, [quad0]
  16. movq mm3, [quad1]
  17. movq mm6, [mask0]
  18. movq mm7, [mask1]
  19. ;; Look out for size of extracted memory region
  20. mov esp, stack_top - 16
  21. mov edi, esp
  22. maskmovq mm0, mm6
  23. sub esp, 8
  24. mov edi, esp
  25. maskmovq mm1, mm6
  26. sub esp, 8
  27. mov edi, esp
  28. maskmovq mm2, mm7
  29. sub esp, 8
  30. mov edi, esp
  31. maskmovq mm3, mm7
  32. sub esp, 8
  33. %include "footer.inc"