2026-01-12 08:47:42 +01:00
|
|
|
import stdlib.sl
|
|
|
|
|
import io.sl
|
|
|
|
|
|
2025-12-25 21:30:11 +01:00
|
|
|
# dump takes the firts element from the stack
|
|
|
|
|
# and prints that much consequent elements
|
|
|
|
|
# from the stack while not modifying it
|
|
|
|
|
|
2026-02-18 13:58:08 +01:00
|
|
|
#dump [* | n] -> [*]
|
2026-01-08 15:28:10 +01:00
|
|
|
word dump
|
|
|
|
|
1 swap
|
2025-12-25 21:30:11 +01:00
|
|
|
for
|
2026-01-08 15:28:10 +01:00
|
|
|
dup pick
|
2025-12-25 21:30:11 +01:00
|
|
|
puti cr
|
2026-01-08 15:28:10 +01:00
|
|
|
1 +
|
2026-01-03 09:04:50 +00:00
|
|
|
end
|
2026-01-08 15:28:10 +01:00
|
|
|
drop
|
|
|
|
|
end
|
2025-12-25 21:30:11 +01:00
|
|
|
|
2026-02-18 13:58:08 +01:00
|
|
|
#rdump [* | n] -> [*]
|
2026-02-06 10:46:48 +01:00
|
|
|
# dump return stack
|
2026-01-12 08:47:42 +01:00
|
|
|
word rdump
|
|
|
|
|
1 swap
|
|
|
|
|
for
|
|
|
|
|
dup rpick
|
|
|
|
|
puti cr
|
|
|
|
|
1 +
|
|
|
|
|
end
|
|
|
|
|
drop
|
|
|
|
|
end
|
|
|
|
|
|
2026-02-18 13:58:08 +01:00
|
|
|
#fdump [* | n] -> [*]
|
|
|
|
|
#dump the stack with additional formatting
|
2026-02-06 10:46:48 +01:00
|
|
|
word fdump
|
|
|
|
|
"[*, " write_buf
|
|
|
|
|
1 swap 1 +
|
|
|
|
|
while dup 3 > do
|
|
|
|
|
dup pick
|
|
|
|
|
puti
|
|
|
|
|
1 -
|
|
|
|
|
", " write_buf
|
|
|
|
|
end
|
|
|
|
|
1 - pick puti
|
|
|
|
|
" | " write_buf
|
|
|
|
|
1 - pick puti
|
|
|
|
|
"]\n" write_buf
|
|
|
|
|
end
|
|
|
|
|
|
2026-02-18 13:58:08 +01:00
|
|
|
#frdump [* | n] -> [*]
|
|
|
|
|
#dump the return stack with additional formatting
|
2026-02-06 10:46:48 +01:00
|
|
|
word frdump
|
|
|
|
|
"[*, " write_buf
|
|
|
|
|
1 swap 1 -
|
|
|
|
|
while dup 2 > do
|
|
|
|
|
dup rpick
|
|
|
|
|
puti
|
|
|
|
|
1 -
|
|
|
|
|
", " write_buf
|
|
|
|
|
end
|
|
|
|
|
rpick puti
|
|
|
|
|
", " write_buf
|
|
|
|
|
rpick puti
|
|
|
|
|
" | " write_buf
|
|
|
|
|
rpick puti
|
|
|
|
|
"]\n" write_buf
|
|
|
|
|
end
|
|
|
|
|
|
2026-02-05 21:36:03 +01:00
|
|
|
#int3 [*] -> [*]
|
2025-12-25 21:30:11 +01:00
|
|
|
:asm int3 {
|
|
|
|
|
int3
|
|
|
|
|
}
|
|
|
|
|
;
|
|
|
|
|
|