Fixed Forth's Stack Leak
This commit is contained in:
parent
6c1c1cf0e3
commit
77795c669c
|
@ -32,6 +32,7 @@ Stack offset bug in stage2 forth was found and fixed by reepca in record time
|
||||||
Fixed 2DUP and ?DUP in stage2 forth
|
Fixed 2DUP and ?DUP in stage2 forth
|
||||||
Swapped TRUE and FALSE values in stage2 forth to match http://lars.nocrew.org/dpans/dpans3.htm#3.1.3
|
Swapped TRUE and FALSE values in stage2 forth to match http://lars.nocrew.org/dpans/dpans3.htm#3.1.3
|
||||||
Adjusted order of comparisions to better match ans
|
Adjusted order of comparisions to better match ans
|
||||||
|
Stack leak in stage2 forth found and corrected
|
||||||
|
|
||||||
** Removed
|
** Removed
|
||||||
Removed need for sponge to be used to run webIDE
|
Removed need for sponge to be used to run webIDE
|
||||||
|
|
|
@ -1250,6 +1250,8 @@
|
||||||
:Interpret_Code
|
:Interpret_Code
|
||||||
CALLI R15 @Word_Direct ; Get the Word
|
CALLI R15 @Word_Direct ; Get the Word
|
||||||
POPR R0 R14 ; Remove Length
|
POPR R0 R14 ; Remove Length
|
||||||
|
CMPSKIPI.NE R0 0 ; If Nothing read
|
||||||
|
JUMP @Interpret_Cleanup ; Cleanup
|
||||||
POPR R0 R14 ; Remove Pointer
|
POPR R0 R14 ; Remove Pointer
|
||||||
PUSHR R0 R14 ; Protect Pointer
|
PUSHR R0 R14 ; Protect Pointer
|
||||||
PUSHR R0 R14 ; Put Pointer
|
PUSHR R0 R14 ; Put Pointer
|
||||||
|
@ -1288,6 +1290,10 @@
|
||||||
PUSHR R0 R8 ; Append Immediate to HEAP
|
PUSHR R0 R8 ; Append Immediate to HEAP
|
||||||
JSR_COROUTINE R11 ; NEXT
|
JSR_COROUTINE R11 ; NEXT
|
||||||
|
|
||||||
|
:Interpret_Cleanup
|
||||||
|
POPR R0 R14 ; Remove Pointer
|
||||||
|
JSR_COROUTINE R11 ; NEXT
|
||||||
|
|
||||||
;; Cold done function
|
;; Cold done function
|
||||||
;; Reads Tape_01 until EOF
|
;; Reads Tape_01 until EOF
|
||||||
;; Then switches into TTY Mode
|
;; Then switches into TTY Mode
|
||||||
|
|
Loading…
Reference in New Issue