WORD p_allot,'ALLOT'
;; ( n -- )
;; Allocate n bytes on the heap
- dq p_here, p_put_plus, p_return
+ dq p_here, p_swap, p_put_plus, p_return
WORD p_quote,"'"
;; ( "word" -- cfa )
;; Compile down " LIT value "
dq p_literal, p_literal, p_comma,p_quote, p_comma, p_return
- WORD p_comma,','
- ;; ( v -- )
- ;; Put cell value onto the heap and advance "HERE"
- dq p_here, p_literal, 8, p_get_n_increment, p_put, p_return
+ WORD p_Ccomma,'C,',fasm
+ ;; ( c -- )
+ ;; Put byte value onto the heap and advance "HERE"
+ mov rax,qword [p_here_DFA]
+ pop rbx
+ mov byte [rax],bl
+ inc qword [p_here_DFA]
+ next
- WORD p_Ccomma,'C,'
+ WORD p_Wcomma,'W,',fasm
;; ( c -- )
;; Put byte value onto the heap and advance "HERE"
- dq p_here, p_Cput, p_literal, 1, p_here, p_put_plus, p_return
+ mov rax,qword [p_here_DFA]
+ pop rbx
+ mov word [rax],bx
+ add qword [p_here_DFA],2
+ next
+
+ WORD p_Dcomma,'D,',fasm
+ ;; ( d -- )
+ ;; Put byte value onto the heap and advance "HERE"
+ mov rax,qword [p_here_DFA]
+ pop rbx
+ mov dword [rax],ebx
+ add qword [p_here_DFA],4
+ next
+
+ WORD p_comma,',',fasm
+ ;; ( v -- )
+ ;; Put byte value onto the heap and advance "HERE"
+ mov rax,qword [p_here_DFA]
+ pop rbx
+ mov qword [rax],rbx
+ add qword [p_here_DFA],8
+ next
WORD p_does,"DOES>",fasm,IMMEDIATE
;; ( -- )