summaryrefslogtreecommitdiff
path: root/prologue.snippet.asm
diff options
context:
space:
mode:
authortomsmeding <tom.smeding@gmail.com>2016-08-14 16:56:54 +0200
committertomsmeding <tom.smeding@gmail.com>2016-08-14 16:56:54 +0200
commita7d52eef038d25b83ab7d7e8730749d877b6a73c (patch)
treed5f0212d9344e42fc3065ad6b34c27ebe7ef6ea1 /prologue.snippet.asm
parentf30ff2240932d4d03984bd16cc8b9bb2b5427a53 (diff)
Heatmap, etc.
- factor out prologue and epilogue - -H, -L - sourcemapping - separate settings - heatmap.py
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
+