fixing new primitives
[rrq/rrqforth.git] / memory.asm
index eb84af7feb42e98616bdfb6e9f01d2e1a5d47333..8f8f51e9bc37193f5a4a3b6deae09512cc0df1f1 100644 (file)
@@ -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
        ;; ( 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