summary refs log tree commit diff
path: root/evoke.e
diff options
context:
space:
mode:
Diffstat (limited to 'evoke.e')
-rw-r--r--evoke.e26
1 files changed, 23 insertions, 3 deletions
diff --git a/evoke.e b/evoke.e
index 607242d..869de31 100644
--- a/evoke.e
+++ b/evoke.e
@@ -7,8 +7,30 @@
 
 s" source-to-precompile" variable
 
+~ : fooze 4 . ; fooze
 1024 read-to-buffer
-: fooze 4 . ;
+here @
+dup L!' docol-codeword-value
+:rsi pack-pushcontrol
+8 :rax add-reg64-imm8
+:rax :rsi mov-reg64-reg64
+pack-next
+8 packalign
+here !
+
+: docol
+  [ here @
+    L@' docol-codeword-value :rax mov-reg64-imm64
+    :rax push-reg64
+    here ! ] ;asm
+
+: exit
+  [ here @
+    :rsi pack-popcontrol
+    here ! ] ;asm
+
+: foo 1 2 + ;
+0 sys-exit
 pyrzqxgl
 s" source-to-copy-to-log" variable
 
@@ -26,8 +48,6 @@ s" source-to-copy-to-log" variable
   elf-program-header
   output-cold-start
   source-to-copy-to-log output-warm-start
-  output-docol
-  output-exit
   source-to-precompile label-transform
   0 L!' final-word-name
   current-offset L!' total-size