dsforth: it is now possible to compile it with relative or absolute branches (absolut...
[urasm.git] / dsforth / main_nprint.zas
blob25be4837dfce24ad312d15a3a1cd108e913e3ebe
1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 ;; number formatting and printing
3 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5 $FORTH_WORD HOLD
6 ;; AberSoft
7 ;; ( c -- )
8   -1 HLD +! HLD @ C! ;S
9 $FORTH_END_WORD HOLD
12 $FORTH_WORD <#
13 ;; AberSoft
14   PAD HLD ! ;S
15 $FORTH_END_WORD <#
17 $FORTH_WORD #>
18 ;; AberSoft
19   DROP DROP HLD @ PAD OVER - ;S
20 $FORTH_END_WORD #>
22 $FORTH_WORD SIGN
23 ;; AberSoft
24   ROT 0< 0BRANCH sign0
25   LIT 45 HOLD
26 sign0:
27   ;S
28 $FORTH_END_WORD SIGN
30 $FORTH_WORD #
31 ;; AberSoft
32   BASE @ M/MOD ROT LIT 9 OVER < 0BRANCH sharp0
33   LIT 7 +
34 sharp0:
35   LIT 48 + HOLD ;S
36 $FORTH_END_WORD #
38 $FORTH_WORD #S
39 ;; AberSoft
40 ns0:
41   # OVER OVER OR 0= 0BRANCH ns0
42   ;S
43 $FORTH_END_WORD #S
45 $FORTH_WORD D.R
46 ;; AberSoft
47   >R SWAP OVER DABS <# #S SIGN #> R> OVER - SPACES TYPE ;S
48 $FORTH_END_WORD D.R
50 $FORTH_WORD .R
51 ;; AberSoft
52   >R S->D R> D.R ;S
53 $FORTH_END_WORD .R
55 $FORTH_WORD D.
56 ;; AberSoft
57   0 D.R SPACE ;S
58 $FORTH_END_WORD D.
60 $FORTH_WORD .
61 ;; AberSoft
62   S->D D. ;S
63 $FORTH_END_WORD .
65 $FORTH_WORD U.
66 ;; AberSoft
67   0 D. ;S
68 $FORTH_END_WORD U.
70 $FORTH_WORD U.R
71 ;; AberSoft
72   >R 0 R> D.R ;S
73 $FORTH_END_WORD U.R