forth: Forth-ify "FLAGS"

This commit is contained in:
Virgil Dupras 2020-03-30 14:29:21 -04:00
parent e984efe6c3
commit f9d45f7f53
3 changed files with 12 additions and 13 deletions

Binary file not shown.

View File

@ -128,6 +128,7 @@ LIT:
.dw RS_ADDR .dw RS_ADDR
.dw CINPTR .dw CINPTR
.dw SYSVNXT .dw SYSVNXT
.dw FLAGS
; *** Code *** ; *** Code ***
forthMain: forthMain:
@ -164,7 +165,7 @@ forthMain:
.bootName: .bootName:
.db "BOOT", 0 .db "BOOT", 0
.fill 91 .fill 89
; STABLE ABI ; STABLE ABI
; Offset: 00cd ; Offset: 00cd
@ -820,17 +821,10 @@ PARSEPTR_:
.dw sysvarWord .dw sysvarWord
.dw PARSEPTR .dw PARSEPTR
.db "FLAGS" .fill 77
.dw $-PARSEPTR_
.db 5
FLAGS_:
.dw sysvarWord
.dw FLAGS
.fill 65
.db "_bend" .db "_bend"
.dw $-FLAGS_ .dw $-PARSEPTR_
.db 5 .db 5
; Offset: 0647 ; Offset: 0647
.out $ .out $

View File

@ -55,8 +55,13 @@
, ( write! ) , ( write! )
; IMMEDIATE ; IMMEDIATE
: FLAGS
( JTBL+44 == FLAGS )
[ JTBL 44 + @ LITN ]
;
: QUIT : QUIT
0 FLAGS _c ! _c (resRS) 0 _c FLAGS _c ! _c (resRS)
LIT< INTERPRET (find) _c DROP EXECUTE LIT< INTERPRET (find) _c DROP EXECUTE
; ;
@ -145,9 +150,9 @@
_c WORD _c WORD
(find) (find)
IF IF
1 FLAGS _c ! 1 _c FLAGS _c !
EXECUTE EXECUTE
0 FLAGS _c ! 0 _c FLAGS _c !
ELSE ELSE
(parse*) _c @ EXECUTE (parse*) _c @ EXECUTE
THEN THEN