aboutsummaryrefslogtreecommitdiffstats
path: root/src/x86_64/postlude.asm
diff options
context:
space:
mode:
Diffstat (limited to 'src/x86_64/postlude.asm')
-rw-r--r--src/x86_64/postlude.asm24
1 files changed, 1 insertions, 23 deletions
diff --git a/src/x86_64/postlude.asm b/src/x86_64/postlude.asm
index 5c8e56f..3355286 100644
--- a/src/x86_64/postlude.asm
+++ b/src/x86_64/postlude.asm
@@ -2,29 +2,7 @@
2_start_return: 2_start_return:
3 ;; return the last value in the stack 3 ;; return the last value in the stack
4 pop rdi 4 pop rdi
5 5 call display
6 ;; is nil?
7 mov rax, rdi
8 cmp rax, NIL_VAL
9 je exit
10
11 ;; is boolean?
12 mov rax, rdi
13 and rax, BOOL_MASK
14 cmp rax, BOOL_TAG
15 jne not_bool
16 call printbool
17 jmp exit
18not_bool:
19
20 ;; is fixnum?
21 mov rax, rdi
22 and rax, FIXNUM_MASK
23 cmp rax, FIXNUM_TAG
24 jne not_fixnum
25 call printdln
26 jmp exit
27not_fixnum:
28 6
29exit: 7exit:
30 ; exit syscall 8 ; exit syscall