From b4a09996fae3047f04e6171e448bbfeecfc27b7d Mon Sep 17 00:00:00 2001 From: Irene Knapp Date: Sat, 8 Nov 2025 18:53:03 -0800 Subject: implement sys_exit and sys_write Force-Push: yes Change-Id: Idbdfe11a5ba4107c90065f015705708030684439 --- quine.asm | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'quine.asm') 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 -- cgit 1.4.1