From 67d25d837ac55f28a366c0a3b262e439a6e75fc3 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 19 Aug 2017 12:15:28 +0200 Subject: Add AmForth --- amforth-6.5/common/words/sharp.asm | 41 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 amforth-6.5/common/words/sharp.asm (limited to 'amforth-6.5/common/words/sharp.asm') diff --git a/amforth-6.5/common/words/sharp.asm b/amforth-6.5/common/words/sharp.asm new file mode 100644 index 0000000..7659a39 --- /dev/null +++ b/amforth-6.5/common/words/sharp.asm @@ -0,0 +1,41 @@ +; ( d1 -- d2 ) +; Numeric IO +; pictured numeric output: convert one digit + +.if cpu_msp430==1 + HEADER(XT_SHARP,1,"#",DOCOLON) +.endif + +.if cpu_avr8==1 + + +VE_SHARP: + .dw $ff01 + .db "#",0 + .dw VE_HEAD + .set VE_HEAD = VE_SHARP +XT_SHARP: + .dw DO_COLON +PFA_SHARP: +.endif + .dw XT_BASE + .dw XT_FETCH + .dw XT_UDSLASHMOD + .dw XT_ROT + .dw XT_DOLITERAL + .dw 9 + .dw XT_OVER + .dw XT_LESS + .dw XT_DOCONDBRANCH + DEST(PFA_SHARP1) + .dw XT_DOLITERAL + .dw 7 + .dw XT_PLUS +PFA_SHARP1: + .dw XT_DOLITERAL + .dw 48 ; ASCII 0 + .dw XT_PLUS + .dw XT_HOLD + .dw XT_EXIT +; : # ( ud1 -- ud2 ) +; base @ ud/mod rot 9 over < if 7 + then 30 + hold ; -- cgit v1.2.3