fix(buzbee): respecting new portable command token format
This commit is contained in:
15
src/buzbee.s
15
src/buzbee.s
@@ -301,19 +301,10 @@ RUNIF
|
|||||||
beq NOTOK@
|
beq NOTOK@
|
||||||
ldx #0 ; Counting up from zero
|
ldx #0 ; Counting up from zero
|
||||||
lda BBVAR.tokens ; Load token
|
lda BBVAR.tokens ; Load token
|
||||||
NEXTHASH@
|
tfr a,b ; Get the index in D
|
||||||
cmpa BBCHT,x ; Is this hash our hash?
|
|
||||||
beq CALCPTR@ ; Yes? skip to next step to put ptr in x
|
|
||||||
leax 1,x ; Begin considering next hash
|
|
||||||
cmpx BBCHTC ; Is this the last byte?
|
|
||||||
blo NEXTHASH@ ; No? try next hash, Yes? fall through
|
|
||||||
PZSTR EM_BADHASH ; Print an error message
|
|
||||||
lbra IFHELP ; Proceed to call "HELP"
|
|
||||||
CALCPTR@
|
|
||||||
tfr x,d ; Swap into d to do a cheap multiply
|
|
||||||
asld ; Cheaply << to get *2, pointer size
|
asld ; Cheaply << to get *2, pointer size
|
||||||
tfr d,x ; Restore x from d and jump to function at index
|
tfr d,x ; Move to X so we can use indexed mode with the offset
|
||||||
jmp [IFPTRTBL,x]
|
jmp [IFPTRTBL,x] ; Select IF
|
||||||
NOTOK@
|
NOTOK@
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user