From 53ccfab6c1f2ddad977ceedbdbbfa54a05b81070 Mon Sep 17 00:00:00 2001 From: exegete Date: Sat, 17 Oct 2020 17:52:20 +0300 Subject: stack print and etc --- common/common.sts | 1 + common/print.sts | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 common/print.sts (limited to 'common') diff --git a/common/common.sts b/common/common.sts index cc5f5ee..8a7f835 100644 --- a/common/common.sts +++ b/common/common.sts @@ -1,2 +1,3 @@ module common/macro.sts module common/const.sts +module common/print.sts diff --git a/common/print.sts b/common/print.sts new file mode 100644 index 0000000..9517307 --- /dev/null +++ b/common/print.sts @@ -0,0 +1,30 @@ +defword get_hex + f and + dup 9 > if + a - 'a' + + else + '0' + + fi +exit + +defword print_hex + dup 1c shr get_hex sys_write + dup 18 shr get_hex sys_write + dup 14 shr get_hex sys_write + dup 10 shr get_hex sys_write + dup c shr get_hex sys_write + dup 8 shr get_hex sys_write + dup 4 shr get_hex sys_write + get_hex sys_write + a sys_write +exit + +defword print_stack + dup + do + dup 0 = until + over over - 2 + get print_hex + 1 - + od + drop +exit -- cgit v1.2.3