diff options
| author | Irene Knapp <ireneista@irenes.space> | 2025-11-08 18:53:03 -0800 |
|---|---|---|
| committer | Irene Knapp <ireneista@irenes.space> | 2025-11-08 18:53:03 -0800 |
| commit | b4a09996fae3047f04e6171e448bbfeecfc27b7d (patch) | |
| tree | 10de52d92aeac8a7632027c4b496570fb742aaa0 | |
| parent | 9dbf42f2138b93987b42069dd3aee4d6fd7917fd (diff) | |
implement sys_exit and sys_write
Force-Push: yes Change-Id: Idbdfe11a5ba4107c90065f015705708030684439
| -rw-r--r-- | quine.asm | 18 |
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 |