.pos 0 irmovq stack, %rsp call main halt .align 8 # Source block src: .quad 0x00a .quad 0x0b0 .quad 0xc00 # Destination block dest: .quad 0x111 .quad 0x222 .quad 0x333 main: irmovq src, %rdi irmovq dest, %rsi irmovq $3, %rdx call copy ret copy: xorq %rax, %rax irmovq $1, %rcx irmovq $8, %r8 jmp test loop: mrmovq (%rdi), %r9 rmmovq %r9, (%rsi) xorq %r9, %rax addq %r8, %rdi addq %r8, %rsi subq %rcx, %rdx test: andq %rdx, %rdx jg loop ret .pos 0x200 stack: