Files
l2/stdlib/debug.sl

73 lines
908 B
Plaintext
Raw Normal View History

import stdlib.sl
import io.sl
# 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] -> [*]
word dump
1 swap
for
dup pick
puti cr
1 +
2026-01-03 09:04:50 +00:00
end
drop
end
2026-02-18 13:58:08 +01:00
#rdump [* | n] -> [*]
# dump return stack
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
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
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
#int3 [*] -> [*]
:asm int3 {
int3
}
;