summary refs log tree commit diff
path: root/interpret.e
diff options
context:
space:
mode:
Diffstat (limited to 'interpret.e')
-rw-r--r--interpret.e12
1 files changed, 11 insertions, 1 deletions
diff --git a/interpret.e b/interpret.e
index 7884feb..eabbb09 100644
--- a/interpret.e
+++ b/interpret.e
@@ -139,7 +139,7 @@
   here @
   swap :rax mov-reg64-imm64
   :rax push-reg64
-  next
+  pack-next
   8 packalign
   here ! ;
 
@@ -410,6 +410,16 @@ latest @ dup hide-entry
 ~ (pointer to [ entry, pointer to ] entry, pointer to ; entry)
 
 
+: ;asm
+  here @ pack-next 8 packalign here !
+  latest @ dup unhide-entry entry-to-execution-token dup 8 + swap !
+  ~ See above.
+  [ 2 pick entry-to-execution-token , ]
+  ; make-immediate
+latest @ dup hide-entry
+~ (pointer to [ entry, pointer to ], pointer to ;, pointer to ;asm)
+
+
 ~   Although we will eventually define the word "'" to give us the symbol of
 ~ a word, it will rely on being able to compile a literal. Rather than do lots
 ~ of string processing later, we choose to define this word now to avoid