mov qword [rbx+24],rcx ; PFA (length)
pop rsi ; chars* (source)
lea rdi,[rbx+32] ; (dest)
- ;; clear DF
+ cld
p_create_COPY:
movsb
dec rcx
WORD p_comma,','
;; ( v -- )
;; Put cell value onto the heap and advance "HERE"
- dq p_here, p_put, p_literal, 8, p_here, p_put_plus, p_exit
-
+ dq p_here, p_literal, 8, p_get_n_increment, p_put, p_exit
+
WORD p_Ccomma,'C,'
;; ( c -- )
;; Put byte value onto the heap and advance "HERE"
cmp al,'Z'
jg p_number_alpha
sub al,'A'-10
+ cmp rax,qword [p_base_DFA]
+ jge p_number_BAD
jmp p_number_CONSUME
p_number_alpha:
cmp al,'a'
cmp al,'z'
jg p_number_BAD
sub al,'a'-10
+ cmp rax,qword [p_base_DFA]
+ jge p_number_BAD
jmp p_number_CONSUME
p_number_BAD:
push qword 0
dq 15000
WORD p_open_file,'OPEN-FILE',fasm
- ;; ( chaz* -- fd )
+ ;; ( chaz* n -- fd )
;; Open the nominated file
pushr rsi
+ add rsp,8 ; drop n ... assuming NUL-ended string
push qword 0
push qword 0
DOFORTH sys_open
next
WORD p_load_file,'LOAD-FILE'
- ;; ( chaz* -- )
+ ;; ( chaz* n -- )
dq p_open_file
dq p_dup, p_0less
BRANCH 1,p_load_file_badfile