summaryrefslogtreecommitdiff
path: root/prologue.snippet.asm
diff options
context:
space:
mode:
Diffstat (limited to 'prologue.snippet.asm')
-rw-r--r--prologue.snippet.asm40
1 files changed, 40 insertions, 0 deletions
diff --git a/prologue.snippet.asm b/prologue.snippet.asm
new file mode 100644
index 0000000..e706651
--- /dev/null
+++ b/prologue.snippet.asm
@@ -0,0 +1,40 @@
+global _main
+
+extern _calloc
+extern _fflush
+extern _free
+extern _getchar
+extern _malloc
+extern _printf
+extern _putchar
+extern _snprintf
+extern _write
+
+default rel
+
+section .text
+
+_main:
+ push rbp ; PROLOGUE
+ mov rbp, rsp
+ push rbx
+ push r12
+ mov edi, PARAMS_MEMSIZE
+ call _malloc
+ cmp rax, 0
+ jz nomem
+ mov rbx, rax ;bufp
+ mov [buf], rax ;buf
+
+%ifdef HEATMAP
+ mov edi, SOURCE_LENGTH
+ mov esi, 4
+ call _calloc
+ cmp rax, 0
+ jz nomem
+ mov r12, rax
+%endif
+
+; rbx = bufp
+; r12 = heatmap
+