$BCF3/48371: Convert ASCII String to a Number in FAC
Jump from $AC89, $AE8F, $B7DA:
BCF3: A0 00 LDY #$00
BCF5: A2 0A LDX #$0A
Jump from $BCFA:
BCF7: 94 5D STY $5D,X ; Temporary storage for FLPT value
BCF9: CA DEX
BCFA: 10 FB BPL $BCF7
BCFC: 90 0F BCC $BD0D
BCFE: C9 2D CMP #$2D
BD00: D0 04 BNE $BD06
BD02: 86 67 STX $67 ; Pointer: Series Evaluation Constant
BD04: F0 04 BEQ $BD0A
Jump from $BD00:
BD06: C9 2B CMP #$2B
BD08: D0 05 BNE $BD0F
Jump from $BD04, $BD45, $BD7B:
BD0A: 20 73 00 JSR $0073 ; CHRGET: Get next Byte of BASIC Text
Jump from $BCFC:
BD0D: 90 5B BCC $BD6A
Jump from $BD08:
BD0F: C9 2E CMP #$2E
BD11: F0 2E BEQ $BD41
BD13: C9 45 CMP #$45
BD15: D0 30 BNE $BD47
BD17: 20 73 00 JSR $0073 ; CHRGET: Get next Byte of BASIC Text
BD1A: 90 17 BCC $BD33
BD1C: C9 AB CMP #$AB
BD1E: F0 0E BEQ $BD2E
BD20: C9 2D CMP #$2D
BD22: F0 0A BEQ $BD2E
BD24: C9 AA CMP #$AA
BD26: F0 08 BEQ $BD30
BD28: C9 2B CMP #$2B
BD2A: F0 04 BEQ $BD30
BD2C: D0 07 BNE $BD35
Jump from $BD1E, $BD22:
BD2E: 66 60 ROR $60 ; Temporary storage for FLPT value
Jump from $BD26, $BD2A, $BDB0:
BD30: 20 73 00 JSR $0073 ; CHRGET: Get next Byte of BASIC Text
Jump from $BD1A:
BD33: 90 5C BCC $BD91
Jump from $BD2C:
BD35: 24 60 BIT $60 ; Temporary storage for FLPT value
BD37: 10 0E BPL $BD47
BD39: A9 00 LDA #$00
BD3B: 38 SEC
BD3C: E5 5E SBC $5E ; Temporary storage for FLPT value
BD3E: 4C 49 BD JMP $BD49
Jump from $BD11:
BD41: 66 5F ROR $5F ; Temporary storage for FLPT value
BD43: 24 5F BIT $5F ; Temporary storage for FLPT value
BD45: 50 C3 BVC $BD0A
Jump from $BD15, $BD37:
BD47: A5 5E LDA $5E ; Temporary storage for FLPT value
Jump from $BD3E:
BD49: 38 SEC
BD4A: E5 5D SBC $5D ; Temporary storage for FLPT value
BD4C: 85 5E STA $5E ; Temporary storage for FLPT value
BD4E: F0 12 BEQ $BD62
BD50: 10 09 BPL $BD5B
Jump from $BD57:
BD52: 20 FE BA JSR $BAFE ; Divide FAC#1 by 10
BD55: E6 5E INC $5E ; Temporary storage for FLPT value
BD57: D0 F9 BNE $BD52
BD59: F0 07 BEQ $BD62
Jump from $BD50, $BD60:
BD5B: 20 E2 BA JSR $BAE2 ; Multiply FAC#1 by 10
BD5E: C6 5E DEC $5E ; Temporary storage for FLPT value
BD60: D0 F9 BNE $BD5B
Jump from $BD4E, $BD59:
BD62: A5 67 LDA $67 ; Pointer: Series Evaluation Constant
BD64: 30 01 BMI $BD67
BD66: 60 RTS
Jump from $BD64:
BD67: 4C B4 BF JMP $BFB4 ; Negate FAC#1
Jump from $BD0D:
BD6A: 48 PHA
BD6B: 24 5F BIT $5F ; Temporary storage for FLPT value
BD6D: 10 02 BPL $BD71
BD6F: E6 5D INC $5D ; Temporary storage for FLPT value
Jump from $BD6D:
BD71: 20 E2 BA JSR $BAE2 ; Multiply FAC#1 by 10
BD74: 68 PLA
BD75: 38 SEC
BD76: E9 30 SBC #$30
BD78: 20 7E BD JSR $BD7E
BD7B: 4C 0A BD JMP $BD0A
Jump from $BD78, $AA29, $BA21:
BD7E: 48 PHA
BD7F: 20 0C BC JSR $BC0C ; Copy FAC#1 into FAC#2
BD82: 68 PLA
BD83: 20 3C BC JSR $BC3C ; Evaluate <sgn>
BD86: A5 6E LDA $6E ; AFAC Sign
BD88: 45 66 EOR $66 ; FAC Sign
BD8A: 85 6F STA $6F ; Sign of result of Arithmetic Evaluation
BD8C: A6 61 LDX $61 ; FAC Exponent
BD8E: 4C 6A B8 JMP $B86A ; Perform Addition
Jump from $BD33:
BD91: A5 5E LDA $5E ; Temporary storage for FLPT value
BD93: C9 0A CMP #$0A
BD95: 90 09 BCC $BDA0
BD97: A9 64 LDA #$64
BD99: 24 60 BIT $60 ; Temporary storage for FLPT value
BD9B: 30 11 BMI $BDAE
BD9D: 4C 7E B9 JMP $B97E ; Output ?OVERFLOW Error
Jump from $BD95:
BDA0: 0A ASL
BDA1: 0A ASL
BDA2: 18 CLC
BDA3: 65 5E ADC $5E ; Temporary storage for FLPT value
BDA5: 0A ASL
BDA6: 18 CLC
BDA7: A0 00 LDY #$00
BDA9: 71 7A ADC ($7A),Y ; Pointer: Current Byte of BASIC Text
BDAB: 38 SEC
BDAC: E9 30 SBC #$30
Jump from $BD9B:
BDAE: 85 5E STA $5E ; Temporary storage for FLPT value
BDB0: 4C 30 BD JMP $BD30
Previous Page / Next Page