corrected STR>TEMP space allocation
authorRalph Ronnquist <ralph.ronnquist@gmail.com>
Fri, 4 Jun 2021 11:08:04 +0000 (21:08 +1000)
committerRalph Ronnquist <ralph.ronnquist@gmail.com>
Fri, 4 Jun 2021 11:08:04 +0000 (21:08 +1000)
temp.asm

index 62ae251a12a52d27a475c410ffc37fe7c208d84b..3425c1c53d34951f135750d5681c6ffb84ecbec0 100644 (file)
--- a/temp.asm
+++ b/temp.asm
@@ -7,9 +7,9 @@
 
        WORD p_objectspace,'TEMPSPACE',dovariable
        ;; Holds size and address of the object space.
-       dq 104857600 ; Total object space size (request size)
-       dq 0 ; Object space base address
-       dq 0 ; Currently used.
+       dq 104857600 ; [0] Total object space size (request size)
+       dq 0 ; [8] Object space base address
+       dq 0 ; [16] Currently used.
 
        WORD p_temp,'TEMP',fasm
        ;; ( size -- addr )
@@ -40,9 +40,10 @@ p_objecthole_from_tail:
        ;; ( char* n -- char* n )
        ;; Capture a given [n:char*] string as a new temp object with
        ;; leading size cell.
-       dq p_dup, p_gtR         ; ( -- char* n ) [ n ]
-       dq p_dup, p_temp        ; ( -- char* n  addr )
-       dq p_dup, p_gtR         ; ( -- char* n  addr ) [ n addr ]
+       dq p_dup, p_gtR                 ; ( -- char* n ) [ n ]
+       dq p_dup, p_literal, 8, p_plus  ; ( -- char* n n+8 )
+       dq p_temp                       ; ( -- char* n  addr )
+       dq p_dup, p_gtR                 ; ( -- char* n  addr ) [ n addr ]
        dq p_2dup, p_put
        dq p_literal, 8, p_plus
        dq p_swap, p_strncpy