From 98731c5f0124f4ecf813eb598d6d64b5101d2cb3 Mon Sep 17 00:00:00 2001 From: Jesse McDonald Date: Sat, 7 Nov 2020 14:25:49 -0600 Subject: [PATCH] add DUMP word for displaying raw memory --- startup.4th | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/startup.4th b/startup.4th index ef1e31a..3e791c6 100644 --- a/startup.4th +++ b/startup.4th @@ -1063,6 +1063,16 @@ CREATE DISPLAY-ITEM-LIMIT 6 , DUP R0 <> IF " …" TYPE THEN BEGIN 2DUP < WHILE CELL- DUP @ SPACE . REPEAT 2DROP EOL ; +\ Display a block of memory +: DUMP ( addr u -- ) + OVER + 16 ALIGNED-TO ▪ SWAP TUCK -16 AND ▪ ?DO + I 0 <# ":" HOLDS 16 #SB [[ CHAR 0 ]] 9 #PAD #> TYPE + I 16 + I ?DO + DUP I C@ 0 <# 16 #SB [[ CHAR 0 ]] 2 #PAD + ROT I = IF [[ CHAR > ]] ELSE BL THEN HOLD BL HOLD #> TYPE + LOOP ▪ EOL + 16 +LOOP ▪ DROP ; + \ Remove trailing whitespace from a string (only affects length) : -TRAILING ( c-addr u1 -- c-addr u2 ) BEGIN DUP AND-THEN 2DUP 1- + C@ SPACE? THEN WHILE 1- REPEAT ;