dsforth: added `[CHAR]`
[urasm.git] / dsforth / ext_dump.zas
blobcd302f9038713bdc8f64ae0bd52d10f39475ce1b
1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 ;; memory dumping utility
3 ;; coded by Ketmar
4 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6 $FORTH_WORD (DUMP-8B)
7 ;; k8
8 ;; ( a -- )
9   DUP LIT 8 + SWAP (DO)
10 dump8b0:
11   I C@ 0 <# # # #> TYPE SPACE
12   (LOOP) dump8b0
13   ;S
14 $FORTH_END_WORD (DUMP-8B)
16 $FORTH_WORD (DUMP-8C)
17 ;; k8
18 ;; ( a -- )
19   DUP LIT 8 + SWAP (DO)
20 dump8c0:
21   I C@  XEMIT
22   (LOOP) dump8c0
23   ;S
24 $FORTH_END_WORD (DUMP-8C)
26 $FORTH_WORD DUMP
27 ;; k8
28 ;; ( a len -- )
29   BASE @ >R HEX
30 dump0:
31   DUP 0 > 0BRANCH dumpq
32   CR  SWAP  DUP 0 <# # # # # #> TYPE  LIT 58 EMIT  SPACE
33   DUP (DUMP-8B) SPACE  DUP (DUMP-8C)
34   LIT 8 +  SWAP LIT 8 -
35   BRANCH dump0
36 dumpq:
37   R> BASE !  2DROP  CR
38   ;S
39 $FORTH_END_WORD DUMP