diff options
Diffstat (limited to 'sanctuary.s')
| -rw-r--r-- | sanctuary.s | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/sanctuary.s b/sanctuary.s index c5eac72..09045c0 100644 --- a/sanctuary.s +++ b/sanctuary.s @@ -223,6 +223,45 @@ defcode "type", type, 0 syscall ret +; .s {{{ +defcode ".s", dots, 0 + push r11 + push r12 + + mov r12, r15 +.loop: + cmp r12, wstk + jge .done + + mov [.space], r12 + mov rdx, 8 ; qword + mov rsi, .space + mov rdi, 1 + mov rax, __NR_write + syscall + + mov rdx, 8 ; qword + mov rsi, r12 + mov rdi, 1 + mov rax, __NR_write + syscall + lea r12, [r12+8] + jmp .loop + +.done: + mov rdx, 16 ; 2 qword + mov rsi, .dmsg + mov rdi, 1 + mov rax, __NR_write + syscall + + pop r12 + pop r11 + ret +.space: resq 1 +.dmsg: db "DONEDONEYIPPEEEE" +; }}} + defvar "state", state, 0, INTERPRET defvar "dp", dp, 0, 0 defvar "dp0", dp0, 0, 0 |
