ACOS!Strings Ops & BugFix

This commit is contained in:
burniouf 2021-07-09 22:40:57 +02:00
parent 099f043cb3
commit 8538008265
7 changed files with 52 additions and 22 deletions

Binary file not shown.

View File

@ -365,7 +365,7 @@ CORE.LookupOPS lda (ZPInputBufPtr)
bcc .2 not last char in this keyword
jsr .10 next char in text...
bcc .4 valid....failed
bcc .6 valid....failed
.3 tya Keyword Len

View File

@ -257,6 +257,7 @@ EXP.VARLookup >LDA.G hVars
rts
*--------------------------------------
EXP.ComputeY lda EXP.TYPE
bne .1
ldx ACOS.OPS2FPU,y
@ -264,7 +265,33 @@ EXP.ComputeY lda EXP.TYPE
clc
rts
.1 sec
.1 stz EXP.TYPE at the end ....TRUE/FALSE is int
cpy #3 +
bne .2
ldx #SYS.StrCat
clc
jmp CODE.SYSCALL
.2 cpy #11 <>
bne .3
ldx #SYS.StrCmp
clc
jmp CODE.SYSCALL
.3 cpy #13 =
bne .9
ldx #SYS.StrCmp
jsr CODE.SYSCALL
ldx #RT.NOT.ID
clc
jmp CODE.JSRRT
.9 sec
rts
*--------------------------------------
MAN

View File

@ -80,13 +80,11 @@ FN.LEN jsr CORE.CheckOP
jsr CORE.CheckCP
bcs .99
ldx #RT.LEN.ID
jsr CODE.JSRRT
stz EXP.TYPE
ldx #RT.LEN.ID
clc
rts
jmp CODE.JSRRT
.90 lda #E.TMISMATCH
sec
@ -114,14 +112,12 @@ FN.STRd jsr CORE.CheckOP
jsr CORE.CheckCP
bcs .99
ldx #RT.STRd.ID
jsr CODE.JSRRT
lda #'$'
sta EXP.TYPE
ldx #RT.STRd.ID
clc
rts
jmp CODE.JSRRT
.90 lda #E.TMISMATCH
sec
@ -139,13 +135,11 @@ FN.VAL jsr CORE.CheckOP
jsr CORE.CheckCP
bcs .99
ldx #RT.VAL.ID
jsr CODE.JSRRT
stz EXP.TYPE
clc
rts
ldx #RT.VAL.ID
* clc
jmp CODE.JSRRT
.90 lda #E.TMISMATCH
sec

View File

@ -39,10 +39,8 @@ KW.GET jsr CORE.GetNextCharNB
jsr CODE.LDYXI
ldx #RT.StrSet.ID
jsr CODE.JSRRT
clc
rts
jmp CODE.JSRRT
.9 lda #E.CSYN
sec
@ -219,10 +217,8 @@ KW.INPUT jsr CORE.GetNextCharNB
jsr CODE.LDYXI
ldx #RT.StrSet.ID
jsr CODE.JSRRT
clc
rts
jmp CODE.JSRRT
.9 lda #E.CSYN
sec

View File

@ -2,6 +2,18 @@ NEW
AUTO 3,1
.LIST OFF
*--------------------------------------
RT.NOT lda (pStack)
inc
ora (pStack)
beq .1
lda #1
.1 dec
sta (pStack)
>PUSHA
rts
*--------------------------------------
RT.StrSet >PUSHB hStrings
txa
>PUSHA

View File

@ -193,6 +193,8 @@ RT.TIMEd.ID .EQ *-J.RT
RT.VAL.ID .EQ *-J.RT
.DA RT.VAL
*--------------------------------------
RT.NOT.ID .EQ *-J.RT
.DA RT.NOT
RT.StrSet.ID .EQ *-J.RT
.DA RT.StrSet
RT.StrGet.ID .EQ *-J.RT
@ -514,7 +516,6 @@ ACOS.OPS .AT "*"
.AT "<>"
.AT "><"
.AT "="
* .AT "NOT"
.AT "AND"
.AT "OR"
.HS 00