mov qword [rdi],0 ; OFF
add rdi,8
mov qword [rbx+8],rdi ; pCFA
- add rdi,8
mov qword [rdi],dovariable ; CFA
add rdi,8
mov qword [p_here_DFA],rdi ; allocate the space
dq p_get
BRANCH 0,p_evaluate_stream_INTERPRET
dq p_dup
- dq p_cfa2flags_get
- dq p_literal, 1
+ dq p_tfa2flags_get
+ dq p_literal, 1 ; the immediate bit
dq p_and
- dq p_not
- BRANCH 0,p_evaluate_stream_INTERPRET
- dq p_comma
- BRANCH ,p_evaluate_stream_AFTER
+ BRANCH 0,p_evaluate_stream_COMPILE
p_evaluate_stream_INTERPRET:
+ dq p_tfa2cfa
dq p_execute
BRANCH ,p_evaluate_stream_AFTER
+p_evaluate_stream_COMPILE:
+ dq p_comma
+ BRANCH ,p_evaluate_stream_AFTER
p_evaluate_stream_NOTWORD:
dq p_drop
dq p_number
dq p_right_bracket
dq p_exit
- WORD p_semicolon,';'
+ WORD p_semicolon,';',,IMMEDIATE
;; ( -- )
;; Lay out p_exit, and set interpreting mode
dq p_left_bracket
dq p_literal, p_exit
dq p_comma
+ dq p_left_bracket
+ dq p_exit
WORD p_immediate,'IMMEDIATE',fasm,IMMEDIATE
;; ( -- )