From: Ralph Ronnquist Date: Sat, 12 Jun 2021 13:30:12 +0000 (+1000) Subject: fixing new primitives X-Git-Url: https://git.rrq.au/?a=commitdiff_plain;h=e3bafa8476bd19b7dd05c6a31ad43a1aa45565b7;p=rrq%2Frrqforth.git fixing new primitives --- diff --git a/compile.asm b/compile.asm index d99504c..e7f3090 100644 --- a/compile.asm +++ b/compile.asm @@ -57,37 +57,37 @@ p_quote_end: ;; Compile down " LIT value " dq p_literal, p_literal, p_comma,p_quote, p_comma, p_return - WORD p_Ccomma,'C,' + WORD p_Ccomma,'C,',fasm ;; ( c -- ) ;; Put byte value onto the heap and advance "HERE" - mov rax,[p_here_DFA] + mov rax,qword [p_here_DFA] pop rbx mov byte [rax],bl inc qword [p_here_DFA] next - WORD p_Wcomma,'W,' + WORD p_Wcomma,'W,',fasm ;; ( c -- ) ;; Put byte value onto the heap and advance "HERE" - mov rax,[p_here_DFA] + mov rax,qword [p_here_DFA] pop rbx mov word [rax],bx add qword [p_here_DFA],2 next - WORD p_Dcomma,'D,' + WORD p_Dcomma,'D,',fasm ;; ( d -- ) ;; Put byte value onto the heap and advance "HERE" - mov rax,[p_here_DFA] + mov rax,qword [p_here_DFA] pop rbx mov dword [rax],ebx add qword [p_here_DFA],4 next - WORD p_comma,',' + WORD p_comma,',',fasm ;; ( v -- ) ;; Put byte value onto the heap and advance "HERE" - mov rax,[p_here_DFA] + mov rax,qword [p_here_DFA] pop rbx mov qword [rax],rbx add qword [p_here_DFA],8 diff --git a/memory.asm b/memory.asm index eb84af7..8f8f51e 100644 --- a/memory.asm +++ b/memory.asm @@ -70,9 +70,9 @@ ;; ( addr -- v ) ;; Load the (unsigned) byte v from address addr. pop rax - mov bl,[rax] - push 0 - mov [rsp],bl + xor rbx,rbx + mov bl,byte [rax] + push rbx next WORD p_Cput, 'C!',fasm @@ -87,9 +87,9 @@ ;; ( addr -- v ) ;; Load the (unsigned) double-byte v from address addr. pop rax - mov bx,[rax] - push 0 - mov word [rsp],bx + xor rbx,rbx + mov bx,word [rax] + push rbx next WORD p_Wput, 'W!',fasm @@ -104,9 +104,9 @@ ;; ( addr -- v ) ;; Load the (unsigned) double-byte v from address addr. pop rax - mov ebx,[rax] - push 0 - mov dword [rsp],ebx + xor rbx,rbx + mov ebx,dword [rax] + push rbx next WORD p_Dput, 'D!',fasm