summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--quine.asm18
1 files changed, 14 insertions, 4 deletions
diff --git a/quine.asm b/quine.asm
index 4eb5017..10bb682 100644
--- a/quine.asm
+++ b/quine.asm
@@ -2355,13 +2355,23 @@ cold_start:
   ; code if you really need to know).
   dq litstring, "sys_exit", 0, early_create, early_self_codeword, early_here
   dq fetch
-  ; TODO
-  dq lit, 8, packalign, early_here_store
+  dq lit, 60, rax, mov_reg64_imm64
+  dq rdi, pop_reg64
+  dq syscall
+  dq hlt
+  dq pack_next, lit, 8, packalign, early_here_store
 
   dq litstring, "sys_write", early_create, early_self_codeword, early_here
   dq fetch
-  ; TODO
-  dq lit, 8, packalign, early_here_store
+  dq rcx, pop_reg64
+  dq rdx, pop_reg64
+  dq rsi, push_reg64
+  dq lit, 1, rax, mov_reg64_imm64
+  dq lit, 1, rdi, mov_reg64_imm64
+  dq rcx, rsi, mov_reg64_reg64
+  dq syscall
+  dq rsi, pop_reg64
+  dq pack_next, lit, 8, packalign, early_here_store
 
   dq litstring, "emitstring", early_create, early_self_codeword, early_here
   dq fetch