mirror of
https://github.com/hsoft/collapseos.git
synced 2024-11-23 22:18:07 +11:00
forth: Forth-ify "(parsed)"
This commit is contained in:
parent
80985460d4
commit
4756fb7763
Binary file not shown.
@ -116,22 +116,23 @@
|
|||||||
jp nativeWord
|
jp nativeWord
|
||||||
jp next
|
jp next
|
||||||
jp chkPS
|
jp chkPS
|
||||||
; 24
|
; 32
|
||||||
.dw numberWord
|
.dw numberWord
|
||||||
.dw litWord
|
.dw litWord
|
||||||
.dw INITIAL_SP
|
.dw INITIAL_SP
|
||||||
.dw WORDBUF
|
.dw WORDBUF
|
||||||
jp flagsToBC
|
jp flagsToBC
|
||||||
; 35
|
; 43
|
||||||
jp strcmp
|
jp strcmp
|
||||||
.dw RS_ADDR
|
.dw RS_ADDR
|
||||||
.dw CINPTR
|
.dw CINPTR
|
||||||
.dw SYSVNXT
|
.dw SYSVNXT
|
||||||
.dw FLAGS
|
.dw FLAGS
|
||||||
; 46
|
; 54
|
||||||
.dw PARSEPTR
|
.dw PARSEPTR
|
||||||
.dw HERE
|
.dw HERE
|
||||||
.dw CURRENT
|
.dw CURRENT
|
||||||
|
jp parseDecimal
|
||||||
|
|
||||||
; *** Code ***
|
; *** Code ***
|
||||||
forthMain:
|
forthMain:
|
||||||
@ -162,7 +163,7 @@ forthMain:
|
|||||||
.bootName:
|
.bootName:
|
||||||
.db "BOOT", 0
|
.db "BOOT", 0
|
||||||
|
|
||||||
.fill 101
|
.fill 98
|
||||||
|
|
||||||
; STABLE ABI
|
; STABLE ABI
|
||||||
; Offset: 00cd
|
; Offset: 00cd
|
||||||
@ -762,33 +763,10 @@ NOT:
|
|||||||
jp next
|
jp next
|
||||||
|
|
||||||
|
|
||||||
.fill 100
|
.fill 362
|
||||||
|
|
||||||
.db "(parsed)"
|
|
||||||
.dw $-NOT
|
|
||||||
.db 8
|
|
||||||
PARSED:
|
|
||||||
.dw nativeWord
|
|
||||||
pop hl
|
|
||||||
call chkPS
|
|
||||||
call parseDecimal
|
|
||||||
jr z, .success
|
|
||||||
; error
|
|
||||||
ld de, 0
|
|
||||||
push de ; dummy
|
|
||||||
push de ; flag
|
|
||||||
jp next
|
|
||||||
.success:
|
|
||||||
push de
|
|
||||||
ld de, 1 ; flag
|
|
||||||
push de
|
|
||||||
jp next
|
|
||||||
|
|
||||||
|
|
||||||
.fill 224
|
|
||||||
|
|
||||||
.db "_bend"
|
.db "_bend"
|
||||||
.dw $-PARSED
|
.dw $-NOT
|
||||||
.db 5
|
.db 5
|
||||||
; Offset: 0647
|
; Offset: 0647
|
||||||
.out $
|
.out $
|
||||||
|
@ -85,7 +85,7 @@
|
|||||||
( This is only the "early parser" in earlier stages. No need
|
( This is only the "early parser" in earlier stages. No need
|
||||||
for an abort message )
|
for an abort message )
|
||||||
: (parse)
|
: (parse)
|
||||||
(parsed) NOT IF _c ABORT THEN
|
_c (parsed) NOT IF _c ABORT THEN
|
||||||
;
|
;
|
||||||
|
|
||||||
( a -- )
|
( a -- )
|
||||||
|
@ -347,3 +347,19 @@ CODE CMP
|
|||||||
BC PUSHqq,
|
BC PUSHqq,
|
||||||
;CODE
|
;CODE
|
||||||
|
|
||||||
|
CODE (parsed)
|
||||||
|
HL POPqq,
|
||||||
|
chkPS,
|
||||||
|
( 60 == parseDecimal )
|
||||||
|
60 CALLnn,
|
||||||
|
10 JRZe, ( success )
|
||||||
|
( error )
|
||||||
|
DE 0 LDddnn,
|
||||||
|
DE PUSHqq, ( dummy )
|
||||||
|
DE PUSHqq, ( flag )
|
||||||
|
JPNEXT,
|
||||||
|
( success )
|
||||||
|
DE PUSHqq,
|
||||||
|
DE 1 LDddnn,
|
||||||
|
DE PUSHqq,
|
||||||
|
;CODE
|
||||||
|
Loading…
Reference in New Issue
Block a user