summaryrefslogtreecommitdiff
path: root/source/files/assembly/x86/perf/array_faster.asm
diff options
context:
space:
mode:
Diffstat (limited to 'source/files/assembly/x86/perf/array_faster.asm')
-rw-r--r--source/files/assembly/x86/perf/array_faster.asm27
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