Files
l2/test.sl

77 lines
853 B
Plaintext
Raw Normal View History

2025-12-06 16:30:58 +01:00
import stdlib.sl
2025-12-06 17:24:30 +01:00
:asm mem-slot {
lea rax, [rel print_buf]
sub r12, 8
mov [r12], rax
}
;
2025-12-06 16:30:58 +01:00
: test-add
5 7 + puts
;
: test-sub
10 3 - puts
;
: test-mul
6 7 * puts
;
: test-div
84 7 / puts
;
: test-mod
85 7 % puts
;
: test-drop
10 20 drop puts
;
: test-dup
11 dup + puts
;
: test-swap
2 5 swap - puts
;
2025-12-06 17:24:30 +01:00
: test-store
mem-slot dup
123 swap !
@ puts
;
: test-mmap
0 # addr hint (NULL)
4096 # length (page)
3 # prot (PROT_READ | PROT_WRITE)
34 # flags (MAP_PRIVATE | MAP_ANON)
-1 # fd (ignored for MAP_ANON)
0 # offset
mmap
dup
1337 swap !
dup
@ puts
4096 munmap drop
;
2025-12-06 16:30:58 +01:00
: main
test-add
test-sub
test-mul
test-div
test-mod
test-drop
test-dup
test-swap
2025-12-06 17:24:30 +01:00
test-store
test-mmap
2025-12-06 16:30:58 +01:00
0
;