; ( n <name> -- ) Tools
; R( --)
; store the TOS to value (an EEPROM 16bit cell)
VE_TO:
.db $82, "to", 0
.dw VE_HEAD
.set VE_HEAD = VE_TO
XT_TO:
.dw DO_COLON
PFA_TO:
.dw XT_TICK
.dw XT_1PLUS ; to body
.dw XT_STATE
.dw XT_FETCH
.dw XT_DOCONDBRANCH
.dw PFA_TO1
.dw XT_COMPILE
.dw XT_DOTO
.dw XT_COMMA
.dw XT_EXIT
PFA_TO1:
.dw XT_IFETCH
.dw XT_ESTORE
.dw XT_EXIT
; ( n -- ) Tools
; R( IP -- IP+1)
; runtime portion of to
;VE_DOTO:
; .db $04, "(to)", 0
; .dw VE_HEAD
; .set VE_HEAD = VE_VALUE
XT_DOTO:
.dw DO_COLON
PFA_DOTO:
.dw XT_R_FROM
.dw XT_DUP
.dw XT_1PLUS
.dw XT_TO_R
.dw XT_IFETCH
.dw XT_IFETCH
.dw XT_ESTORE
.DW XT_EXIT
; : (to) r> dup 1+ >r i@ e! ;
; : to ( x <name> -- )
; ' 1+ state @
; if compile (to) , exit then
; i@ e! ; immediate