added CFA>TFA
[rrq/rrqforth.git] / compile.asm
index 53dbaecdd9ddb233439e5931984a8bc1e8304883..72a8763375abfa406e77a9816f1df9cd66d723ed 100644 (file)
@@ -18,7 +18,7 @@
        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
@@ -60,8 +60,8 @@ p_quote_end:
        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"
@@ -316,9 +316,10 @@ p_evaluate_stream_BAD:
        dq 15000
        
        WORD p_open_file,'OPEN-FILE',fasm
-       ;; ( chaz* -- fd )
+       ;; ( chaz* -- 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
@@ -326,7 +327,7 @@ p_evaluate_stream_BAD:
        next
 
        WORD p_load_file,'LOAD-FILE'
-       ;; ( chaz* -- )
+       ;; ( chaz* -- )
        dq p_open_file
        dq p_dup, p_0less
        BRANCH 1,p_load_file_badfile