summaryrefslogtreecommitdiff
path: root/source/files/assembly/x86/perf/array.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.asm
parent19e231830858a14a4acbb59204f26a0ea0675de6 (diff)
add a bunch of things
Diffstat (limited to 'source/files/assembly/x86/perf/array.asm')
-rw-r--r--source/files/assembly/x86/perf/array.asm33
1 files changed, 33 insertions, 0 deletions
diff --git a/source/files/assembly/x86/perf/array.asm b/source/files/assembly/x86/perf/array.asm
new file mode 100644
index 0000000..8ffab7c
--- /dev/null
+++ b/source/files/assembly/x86/perf/array.asm
@@ -0,0 +1,33 @@
+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
+ jmp tst
+ nop
+lp:
+ movsxd rax, r15d
+ lea rax, [r14 + rax + 0x8]
+ movsx rax, byte [rax]
+ mov byte [rsp + 0x18], al
+ movzx rcx, al
+ and ecx, 0xf
+ mov rax, r13
+ add eax, ecx
+ inc r15
+ mov r13, rax
+tst:
+ movsxd rax, dword [r14]
+ cmp r15, rax
+ jl lp
+ ret
+
+arrrrrr:
+ dd 134217728
+ times 134217728 db 57h