summaryrefslogtreecommitdiff
path: root/source/files/assembly/x86/perf/array_faster.asm
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2017-05-30 01:47:15 -0700
committeriximeow <me@iximeow.net>2017-05-30 01:47:15 -0700
commit9c7462d90cf6c48b0cd82cbf3ae4e8a458ed77f7 (patch)
tree79dc9ca500d38315d8a588349cc049b5f5d35fc0 /source/files/assembly/x86/perf/array_faster.asm
parent19e231830858a14a4acbb59204f26a0ea0675de6 (diff)
add a bunch of things
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