Files
l2/tests/bss_override.sl

38 lines
876 B
Plaintext

import stdlib/stdlib.sl
import stdlib/io.sl
:asm persistent-size {
lea rax, [rel persistent_end]
lea rbx, [rel persistent]
sub rax, rbx
sub r12, 8
mov [r12], rax
}
;
word ss
# Override BSS to grow the persistent buffer.
bss-clear
"align 16" bss-append
"dstack: resb DSTK_BYTES" bss-append
"dstack_top:" bss-append
"align 16" bss-append
"rstack: resb RSTK_BYTES" bss-append
"rstack_top:" bss-append
"align 16" bss-append
"print_buf: resb PRINT_BUF_BYTES" bss-append
"print_buf_end:" bss-append
"align 16" bss-append
"persistent: resb 256" bss-append
"persistent_end:" bss-append
"align 16" bss-append
"list_capture_sp: resq 1" bss-append
"list_capture_tmp: resq 1" bss-append
"list_capture_stack: resq 1024" bss-append
end
word main
persistent-size
print
end
compile-time ss