abort loading files on error
[rrq/rrqforth.git] / temp.asm
index 9759f546eee4e62dbbbb1e6079f15ecac59d3b28..46a1358e85632fd4c6c41a4de1f5f8a9f443b9c2 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,11 +40,12 @@ 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         ; size
-       dq p_dup, p_temp
-       dq p_dup, p_gtR         ; address
+       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_2dup, p_put
-       dq p_literal, 8, p_plus
-       dq p_swap, p_strncpy
-       dq p_Rgt, p_Rgt, p_swap
-       dq p_exit
+       dq p_literal, 8, p_plus         ; ( -- char* n  addr+8 ) [ n ]
+       dq p_dup, p_gtR                 ; ( -- char* n  addr+8 ) [ n addr+8 ]
+       dq p_swap, p_strncpy            ; ( -- ) [ n addr+8 ]
+       dq p_Rgt, p_Rgt                 ; ( -- addr+8 n ) [ ]
+       dq p_return