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/avr8/words/header.asm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 amforth-6.5/avr8/words/header.asm (limited to 'amforth-6.5/avr8/words/header.asm') diff --git a/amforth-6.5/avr8/words/header.asm b/amforth-6.5/avr8/words/header.asm new file mode 100644 index 0000000..4a1e6e9 --- /dev/null +++ b/amforth-6.5/avr8/words/header.asm @@ -0,0 +1,36 @@ +; ( addr len wid -- nfa ) +; Compiler +; creates the vocabulary header without XT and data field (PF) in the wordlist wid +VE_HEADER: + .dw $ff06 + .db "header" + .dw VE_HEAD + .set VE_HEAD = VE_HEADER +XT_HEADER: + .dw DO_COLON +PFA_HEADER: + .dw XT_DP ; the new Name Field + .dw XT_TO_R + .dw XT_TO_R ; ( R: NFA WID ) + .dw XT_DUP + .dw XT_GREATERZERO + .dw XT_DOCONDBRANCH + .dw PFA_HEADER1 + .dw XT_DUP + .dw XT_DOLITERAL + .dw $ff00 ; all flags are off (e.g. immediate) + .dw XT_OR + .dw XT_DOSCOMMA + ; make the link to the previous entry in this wordlist + .dw XT_R_FROM + .dw XT_FETCHE + .dw XT_COMMA + .dw XT_R_FROM + .dw XT_EXIT + +PFA_HEADER1: + ; -16: attempt to use zero length string as a name + .dw XT_DOLITERAL + .dw -16 + .dw XT_THROW + -- cgit v1.2.3