$CC6F/52335: Get parameters form block commands Jump from $CC48, $CD5F, $CD97: CC6F: A0 00 LDY #$00 CC71: A2 00 LDX #$00 CC73: A9 3A LDA #$3A ; ':' CC75: 20 68 C2 JSR $C268 ; test line to colon CC78: D0 02 BNE $CC7C ; found? CC7A: A0 03 LDY #$03 ; no, begin at 4th character Jump from $CC78, $CC8F, $CBA7: CC7C: B9 00 02 LDA $0200,Y ; search for separating char CC7F: C9 20 CMP #$20 ; ' ' blank CC81: F0 08 BEQ $CC8B CC83: C9 1D CMP #$1D ; cursor right CC85: F0 04 BEQ $CC8B CC87: C9 2C CMP #$2C ; ',' comma CC89: D0 07 BNE $CC92 Jump from $CC81, $CC85, $CC9D: CC8B: C8 INY CC8C: CC 74 02 CPY $0274 ; line end? CC8F: 90 EB BCC $CC7C CC91: 60 RTS Jump from $CC89: CC92: 20 A1 CC JSR $CCA1 ; preserve next parameter CC95: EE 77 02 INC $0277 ; increment parameter counter CC98: AC 79 02 LDY $0279 CC9B: E0 04 CPX #$04 ; compare with maximum number CC9D: 90 EC BCC $CC8B CC9F: B0 8A BCS $CC2B ; 30, 'syntax error' Jump from $CC92: CCA1: A9 00 LDA #$00 CCA3: 85 6F STA $6F CCA5: 85 70 STA $70 ; erase storage area for decimal numbers CCA7: 85 72 STA $72 CCA9: A2 FF LDX #$FF Jump from $CCC8: CCAB: B9 00 02 LDA $0200,Y ; get characters from input buffer CCAE: C9 40 CMP #$40 CCB0: B0 18 BCS $CCCA ; no digits? CCB2: C9 30 CMP #$30 ; '0' CCB4: 90 14 BCC $CCCA ; no digits? CCB6: 29 0F AND #$0F ; convert ASCII digits to hex CCB8: 48 PHA ; and save CCB9: A5 70 LDA $70 CCBB: 85 71 STA $71 ; move digits one further CCBD: A5 6F LDA $6F CCBF: 85 70 STA $70 CCC1: 68 PLA CCC2: 85 6F STA $6F ; note read number CCC4: C8 INY ; increment pointer in input buffer CCC5: CC 74 02 CPY $0274 ; line end reached CCC8: 90 E1 BCC $CCAB ; no Jump from $CCB0, $CCB4: CCCA: 8C 79 02 STY $0279 ; save pointer CCCD: 18 CLC CCCE: A9 00 LDA #$00 Jump from $CCD8: CCD0: E8 INX CCD1: E0 03 CPX #$03 CCD3: B0 0F BCS $CCE4 ; convert hex digits to one byte CCD5: B4 6F LDY $6F,X Jump from $CCDD, $CCE2: CCD7: 88 DEY CCD8: 30 F6 BMI $CCD0 CCDA: 7D F2 CC ADC $CCF2,X ; add decimal value CCDD: 90 F8 BCC $CCD7 CCDF: 18 CLC CCE0: E6 72 INC $72 CCE2: D0 F3 BNE $CCD7 Jump from $CCD3: CCE4: 48 PHA CCE5: AE 77 02 LDX $0277 ; counter for paramaters CCE8: A5 72 LDA $72 CCEA: 9D 80 02 STA $0280,X ; hi-byte CCED: 68 PLA CCEE: 9D 85 02 STA $0285,X ; lo-byte CCF1: 60 RTS Previous Page / Next Page |