diff options
Diffstat (limited to 'source/files/assembly/x86/perf/array_faster.asm')
-rw-r--r-- | source/files/assembly/x86/perf/array_faster.asm | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/source/files/assembly/x86/perf/array_faster.asm b/source/files/assembly/x86/perf/array_faster.asm new file mode 100644 index 0000000..969bc54 --- /dev/null +++ b/source/files/assembly/x86/perf/array_faster.asm @@ -0,0 +1,27 @@ +section .text +global _start: + call do_work + mov rax, 60 + mov rdi, r13 + syscall + +do_work: + mov r14, arrrrrr + xor r15, r15 + xor r13, r13 + movsxd rax, dword [r14] + jmp tst + nop +lp: + mov cl, byte [r14 + r15 + 0x8] + and cl, 0xf + add r13, rcx + inc r15 +tst: + cmp r15, rax + jl lp + ret + +arrrrrr: + dd 134217728 + times 134217728 db 57h |