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/to.asm | 59 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 amforth-6.5/common/words/to.asm (limited to 'amforth-6.5/common/words/to.asm') diff --git a/amforth-6.5/common/words/to.asm b/amforth-6.5/common/words/to.asm new file mode 100644 index 0000000..0bb1aec --- /dev/null +++ b/amforth-6.5/common/words/to.asm @@ -0,0 +1,59 @@ +; ( n -- ) +; Tools +; store the TOS to the named value (eeprom cell) + +.if cpu_msp430==1 + IMMED(XT_TO,2,"to",DOCOLON) +.endif + +.if cpu_avr8==1 +VE_TO: + .dw $0002 + .db "to" + .dw VE_HEAD + .set VE_HEAD = VE_TO +XT_TO: + .dw DO_COLON +PFA_TO: +.endif + .dw XT_TICK + .dw XT_TO_BODY + .dw XT_STATE + .dw XT_FETCH + .dw XT_DOCONDBRANCH + DEST(PFA_TO1) + .dw XT_COMPILE + .dw XT_DOTO + .dw XT_COMMA + .dw XT_EXIT + +; ( n -- ) (R: IP -- IP+1) +; Tools +; runtime portion of to +;VE_DOTO: +; .dw $ff04 +; .db "(to)" +; .dw VE_HEAD +; .set VE_HEAD = VE_DOTO +.if cpu_msp430==1 + HEADLESS(XT_DOTO,DOCOLON) +.endif + +.if cpu_avr8==1 + +XT_DOTO: + .dw DO_COLON +PFA_DOTO: +.endif + .dw XT_R_FROM + .dw XT_DUP + .dw XT_ICELLPLUS + .dw XT_TO_R + .dw XT_FETCHI +PFA_TO1: + .dw XT_DUP + .dw XT_ICELLPLUS + .dw XT_ICELLPLUS + .dw XT_FETCHI + .dw XT_EXECUTE + .dw XT_EXIT -- cgit v1.2.3