From: Ralph Ronnquist Date: Sat, 5 Jun 2021 23:41:01 +0000 (+1000) Subject: fixed READ-WORD to use TEMPSPACE X-Git-Url: https://git.rrq.au/?a=commitdiff_plain;h=036306101f72c2f8033c4422abcb1436f0bde97e;p=rrq%2Frrqforth.git fixed READ-WORD to use TEMPSPACE --- diff --git a/stdio.asm b/stdio.asm index 549852e..467952b 100644 --- a/stdio.asm +++ b/stdio.asm @@ -206,12 +206,12 @@ p_read_stream_char.CHAR: ;; Read next word from the given stream into the PAD pushr rsi pop rax + pushr rax ; the stream push qword p_pad_DFA push qword 0 - push rax p_read_word_skipblanks: - DOFORTH p_dup, p_read_stream_char + DOFORTH p_Rget, p_read_stream_char pop rbx cmp bl,0 jl p_read_word_nomore @@ -220,12 +220,12 @@ p_read_word_skipblanks: cmp bl,'#' je p_read_word_skipline p_read_word_readword: - ;; ( buffer length stream ) - mov rax,qword [rsp+16] - mov rcx,qword [rsp+8] + ;; ( buffer length ) + mov rax,qword [rsp+8] + mov rcx,qword [rsp] mov [rax+rcx],bl - inc qword [rsp+8] - DOFORTH p_dup, p_read_stream_char + inc qword [rsp] + DOFORTH p_Rget, p_read_stream_char ; ( -- buffer length char ) pop rbx cmp bl,0 jl p_read_word_nomore @@ -233,7 +233,14 @@ p_read_word_readword: jg p_read_word_readword p_read_word_nomore: - pop rax + xor rbx,rbx + mov rax,qword [rsp+8] + mov rcx,qword [rsp] + mov [rax+rcx],bl ; add NUL ending + inc qword [rsp] + DOFORTH p_str2temp + dec qword [rsp] + popr rax popr rsi next