diff --git a/src/buzbee.s b/src/buzbee.s index 4d7579b..6625b01 100644 --- a/src/buzbee.s +++ b/src/buzbee.s @@ -301,19 +301,10 @@ RUNIF beq NOTOK@ ldx #0 ; Counting up from zero lda BBVAR.tokens ; Load token -NEXTHASH@ - 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 + tfr a,b ; Get the index in D asld ; Cheaply << to get *2, pointer size - tfr d,x ; Restore x from d and jump to function at index - jmp [IFPTRTBL,x] + tfr d,x ; Move to X so we can use indexed mode with the offset + jmp [IFPTRTBL,x] ; Select IF NOTOK@ rts