$A579/42361:   Tokenise Input Buffer

Jump from $A496, $A49F:

A579: 6C 04 03  JMP ($0304)   ; Vector: BASIC Tokenise Routine
A57C: A6 7A     LDX $7A       ; Pointer: Current Byte of BASIC Text
A57E: A0 04     LDY #$04
A580: 84 0F     STY $0F       ; Flag: DATA scan/List Quote/Garbage collection

Jump from $A58C, $A5E1:

A582: BD 00 02  LDA $0200,X   ; BASIC Input Buffer (Input Line from Screen)
A585: 10 07     BPL $A58E
A587: C9 FF     CMP #$FF
A589: F0 3E     BEQ $A5C9
A58B: E8        INX
A58C: D0 F4     BNE $A582

Jump from $A585:

A58E: C9 20     CMP #$20
A590: F0 37     BEQ $A5C9
A592: 85 08     STA $08       ; Flag: Scan for Quote at end of String
A594: C9 22     CMP #$22
A596: F0 56     BEQ $A5EE
A598: 24 0F     BIT $0F       ; Flag: DATA scan/List Quote/Garbage collection
A59A: 70 2D     BVS $A5C9
A59C: C9 3F     CMP #$3F
A59E: D0 04     BNE $A5A4
A5A0: A9 99     LDA #$99
A5A2: D0 25     BNE $A5C9

Jump from $A59E:

A5A4: C9 30     CMP #$30
A5A6: 90 04     BCC $A5AC
A5A8: C9 3C     CMP #$3C
A5AA: 90 1D     BCC $A5C9

Jump from $A5A6:

A5AC: 84 71     STY $71       ; Pointer: Used during CRUNCH/ASCII conversion
A5AE: A0 00     LDY #$00
A5B0: 84 0B     STY $0B       ; Input Buffer Pointer/Number of Subscripts
A5B2: 88        DEY
A5B3: 86 7A     STX $7A       ; Pointer: Current Byte of BASIC Text
A5B5: CA        DEX

Jump from $A5BF:

A5B6: C8        INY
A5B7: E8        INX

Jump from $A602:

A5B8: BD 00 02  LDA $0200,X   ; BASIC Input Buffer (Input Line from Screen)
A5BB: 38        SEC
A5BC: F9 9E A0  SBC $A09E,Y   ; BASIC Command Keyword Table
A5BF: F0 F5     BEQ $A5B6
A5C1: C9 80     CMP #$80
A5C3: D0 30     BNE $A5F5
A5C5: 05 0B     ORA $0B       ; Input Buffer Pointer/Number of Subscripts

Jump from $A607:

A5C7: A4 71     LDY $71       ; Pointer: Used during CRUNCH/ASCII conversion

Jump from $A589, $A590, $A59A, $A5A2, $A5AA, $A5E8, $A5EC:

A5C9: E8        INX
A5CA: C8        INY
A5CB: 99 FB 01  STA $01FB,Y   ; BASIC Stack Area
A5CE: B9 FB 01  LDA $01FB,Y   ; BASIC Stack Area
A5D1: F0 36     BEQ $A609
A5D3: 38        SEC
A5D4: E9 3A     SBC #$3A
A5D6: F0 04     BEQ $A5DC
A5D8: C9 49     CMP #$49
A5DA: D0 02     BNE $A5DE

Jump from $A5D6:

A5DC: 85 0F     STA $0F       ; Flag: DATA scan/List Quote/Garbage collection

Jump from $A5DA:

A5DE: 38        SEC
A5DF: E9 55     SBC #$55
A5E1: D0 9F     BNE $A582
A5E3: 85 08     STA $08       ; Flag: Scan for Quote at end of String

Jump from $A5F3:

A5E5: BD 00 02  LDA $0200,X   ; BASIC Input Buffer (Input Line from Screen)
A5E8: F0 DF     BEQ $A5C9
A5EA: C5 08     CMP $08       ; Flag: Scan for Quote at end of String
A5EC: F0 DB     BEQ $A5C9

Jump from $A596:

A5EE: C8        INY
A5EF: 99 FB 01  STA $01FB,Y   ; BASIC Stack Area
A5F2: E8        INX
A5F3: D0 F0     BNE $A5E5

Jump from $A5C3:

A5F5: A6 7A     LDX $7A       ; Pointer: Current Byte of BASIC Text
A5F7: E6 0B     INC $0B       ; Input Buffer Pointer/Number of Subscripts

Jump from $A5FD:

A5F9: C8        INY
A5FA: B9 9D A0  LDA $A09D,Y   ; BASIC Operator Vectors
A5FD: 10 FA     BPL $A5F9
A5FF: B9 9E A0  LDA $A09E,Y   ; BASIC Command Keyword Table
A602: D0 B4     BNE $A5B8
A604: BD 00 02  LDA $0200,X   ; BASIC Input Buffer (Input Line from Screen)
A607: 10 BE     BPL $A5C7

Jump from $A5D1:

A609: 99 FD 01  STA $01FD,Y   ; BASIC Stack Area
A60C: C6 7B     DEC $7B       ; Pointer: Current Byte of BASIC Text
A60E: A9 FF     LDA #$FF
A610: 85 7A     STA $7A       ; Pointer: Current Byte of BASIC Text
A612: 60        RTS

    Previous Page / Next Page