From 6487c713ef44a120519c7b7ba045d91566b4b139 Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Sat, 21 Mar 2020 15:22:37 -0400 Subject: [PATCH] forth: fix prompt in QUIT conditions --- forth/forth.asm | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/forth/forth.asm b/forth/forth.asm index 29b8251..28b0a37 100644 --- a/forth/forth.asm +++ b/forth/forth.asm @@ -151,11 +151,6 @@ forthMain: .cinName: .db "C<", 0 -forthLoop: - ld hl, INTERPRET - push hl - jp EXECUTE+2 - BEGIN: .dw compiledWord .dw LIT @@ -678,19 +673,33 @@ EXIT: .dw EXIT .db 0 QUIT: - .dw nativeWord + .dw compiledWord + .dw NUMBER + .dw 0 + .dw FLAGS_ + .dw STORE + .dw .private + .dw INTERPRET + +.private: + .dw nativeWord ld ix, RS_ADDR - jp forthLoop + jp next .db "ABORT" .fill 2 .dw QUIT .db 0 ABORT: - .dw nativeWord + .dw compiledWord + .dw .private + .dw QUIT + +.private: + .dw nativeWord ; Reinitialize PS ld sp, (INITIAL_SP) - jp QUIT+2 + jp next abortUnderflow: ld hl, .word