diff options
author | Bad Diode <bd@badd10de.dev> | 2021-11-09 16:32:57 +0100 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2021-11-09 16:32:57 +0100 |
commit | 795707881285fd171c552516b11e5f7aca65f064 (patch) | |
tree | b01b6a27b5e72abba140708c1f88bd99629846d6 /src/x86_64 | |
parent | 701369bfb490596a7336415d01142fdee52d5415 (diff) | |
download | bdl-795707881285fd171c552516b11e5f7aca65f064.tar.gz bdl-795707881285fd171c552516b11e5f7aca65f064.zip |
Add compilation context
This prepares the compiler for the compilation of lambdas/procedures.
Diffstat (limited to 'src/x86_64')
-rw-r--r-- | src/x86_64/prelude.asm | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/x86_64/prelude.asm b/src/x86_64/prelude.asm index c9ef823..05762b9 100644 --- a/src/x86_64/prelude.asm +++ b/src/x86_64/prelude.asm | |||
@@ -108,14 +108,9 @@ not_string: | |||
108 | 108 | ||
109 | ;; is fixnum? | 109 | ;; is fixnum? |
110 | mov rax, rdi | 110 | mov rax, rdi |
111 | and rax, FIXNUM_MASK | ||
112 | cmp rax, FIXNUM_TAG | ||
113 | jne display_end | ||
111 | call printdln | 114 | call printdln |
112 | display_end: | 115 | display_end: |
113 | ret | 116 | ret |
114 | |||
115 | global _start | ||
116 | _start: | ||
117 | ;; point `rdi` to the start of the heap. | ||
118 | mov r15, bdl_heap | ||
119 | |||
120 | ;; make sure the last element in the stack is the nil value. | ||
121 | push NIL_VAL | ||