$AD9E/44446: Evaluate Expression in Text Jump from $A928, $A9B7, $AAB5, $AD8A, $AEF4, $AFB4, $B1B5, $E257: AD9E: A6 7A LDX $7A ; Pointer: Current Byte of BASIC Text ADA0: D0 02 BNE $ADA4 ADA2: C6 7B DEC $7B ; Pointer: Current Byte of BASIC Text Jump from $ADA0: ADA4: C6 7A DEC $7A ; Pointer: Current Byte of BASIC Text ADA6: A2 00 LDX #$00 ADA8: 24 .BYTE $24 Jump from $AE2D: ADA9: 48 PHA ADAA: 8A TXA ADAB: 48 PHA ADAC: A9 01 LDA #$01 ADAE: 20 FB A3 JSR $A3FB ; Check Stack Depth ADB1: 20 83 AE JSR $AE83 ; Evaluate Single Term ADB4: A9 00 LDA #$00 ADB6: 85 4D STA $4D ; Mask used during FRMEVL Jump from $B677: ADB8: 20 79 00 JSR $0079 ; CHRGOT: Get same Byte again Jump from $ADD4: ADBB: 38 SEC ADBC: E9 B1 SBC #$B1 ADBE: 90 17 BCC $ADD7 ADC0: C9 03 CMP #$03 ADC2: B0 13 BCS $ADD7 ADC4: C9 01 CMP #$01 ADC6: 2A ROL ADC7: 49 01 EOR #$01 ADC9: 45 4D EOR $4D ; Mask used during FRMEVL ADCB: C5 4D CMP $4D ; Mask used during FRMEVL ADCD: 90 61 BCC $AE30 ADCF: 85 4D STA $4D ; Mask used during FRMEVL ADD1: 20 73 00 JSR $0073 ; CHRGET: Get next Byte of BASIC Text ADD4: 4C BB AD JMP $ADBB Jump from $ADBE, $ADC2: ADD7: A6 4D LDX $4D ; Mask used during FRMEVL ADD9: D0 2C BNE $AE07 ADDB: B0 7B BCS $AE58 ADDD: 69 07 ADC #$07 ADDF: 90 77 BCC $AE58 ADE1: 65 0D ADC $0D ; Data type Flag ADE3: D0 03 BNE $ADE8 ADE5: 4C 3D B6 JMP $B63D ; Concatenate Two Strings Jump from $ADE3: ADE8: 69 FF ADC #$FF ADEA: 85 22 STA $22 ; Second Utility Pointer ADEC: 0A ASL ADED: 65 22 ADC $22 ; Second Utility Pointer ADEF: A8 TAY Jump from $AE17: ADF0: 68 PLA ADF1: D9 80 A0 CMP $A080,Y ; BASIC Operator Vectors ADF4: B0 67 BCS $AE5D ADF6: 20 8D AD JSR $AD8D ; Confirm Result Jump from $AE1E: ADF9: 48 PHA Jump from $AF11: ADFA: 20 20 AE JSR $AE20 ADFD: 68 PLA ADFE: A4 4B LDY $4B ; Temporary storage for TXTPTR AE00: 10 17 BPL $AE19 AE02: AA TAX AE03: F0 56 BEQ $AE5B AE05: D0 5F BNE $AE66 Jump from $ADD9: AE07: 46 0D LSR $0D ; Data type Flag AE09: 8A TXA AE0A: 2A ROL AE0B: A6 7A LDX $7A ; Pointer: Current Byte of BASIC Text AE0D: D0 02 BNE $AE11 AE0F: C6 7B DEC $7B ; Pointer: Current Byte of BASIC Text Jump from $AE0D: AE11: C6 7A DEC $7A ; Pointer: Current Byte of BASIC Text AE13: A0 1B LDY #$1B AE15: 85 4D STA $4D ; Mask used during FRMEVL AE17: D0 D7 BNE $ADF0 Jump from $AE00: AE19: D9 80 A0 CMP $A080,Y ; BASIC Operator Vectors AE1C: B0 48 BCS $AE66 AE1E: 90 D9 BCC $ADF9 Jump from $ADFA: AE20: B9 82 A0 LDA $A082,Y ; BASIC Operator Vectors AE23: 48 PHA AE24: B9 81 A0 LDA $A081,Y ; BASIC Operator Vectors AE27: 48 PHA AE28: 20 33 AE JSR $AE33 AE2B: A5 4D LDA $4D ; Mask used during FRMEVL AE2D: 4C A9 AD JMP $ADA9 Jump from $ADCD: AE30: 4C 08 AF JMP $AF08 ; Output ?SYNTAX Error Jump from $AE28: AE33: A5 66 LDA $66 ; FAC Sign AE35: BE 80 A0 LDX $A080,Y ; BASIC Operator Vectors Jump from $A7A2: AE38: A8 TAY AE39: 68 PLA AE3A: 85 22 STA $22 ; Second Utility Pointer AE3C: E6 22 INC $22 ; Second Utility Pointer AE3E: 68 PLA AE3F: 85 23 STA $23 ; Second Utility Pointer AE41: 98 TYA AE42: 48 PHA Jump from $A788: AE43: 20 1B BC JSR $BC1B ; Round FAC#1 AE46: A5 65 LDA $65 ; FAC Mantissa AE48: 48 PHA AE49: A5 64 LDA $64 ; FAC Mantissa AE4B: 48 PHA AE4C: A5 63 LDA $63 ; FAC Mantissa AE4E: 48 PHA AE4F: A5 62 LDA $62 ; FAC Mantissa AE51: 48 PHA AE52: A5 61 LDA $61 ; FAC Exponent AE54: 48 PHA AE55: 6C 22 00 JMP ($0022) ; Second Utility Pointer Jump from $ADDB, $ADDF: AE58: A0 FF LDY #$FF AE5A: 68 PLA Jump from $AE03: AE5B: F0 23 BEQ $AE80 Jump from $ADF4: AE5D: C9 64 CMP #$64 AE5F: F0 03 BEQ $AE64 AE61: 20 8D AD JSR $AD8D ; Confirm Result Jump from $AE5F: AE64: 84 4B STY $4B ; Temporary storage for TXTPTR Jump from $AE05, $AE1C: AE66: 68 PLA AE67: 4A LSR AE68: 85 12 STA $12 ; Flag: TAN sign/Comparative result AE6A: 68 PLA AE6B: 85 69 STA $69 ; AFAC Exponent AE6D: 68 PLA AE6E: 85 6A STA $6A ; AFAC Mantissa AE70: 68 PLA AE71: 85 6B STA $6B ; AFAC Mantissa AE73: 68 PLA AE74: 85 6C STA $6C ; AFAC Mantissa AE76: 68 PLA AE77: 85 6D STA $6D ; AFAC Mantissa AE79: 68 PLA AE7A: 85 6E STA $6E ; AFAC Sign AE7C: 45 66 EOR $66 ; FAC Sign AE7E: 85 6F STA $6F ; Sign of result of Arithmetic Evaluation Jump from $AE5B: AE80: A5 61 LDA $61 ; FAC Exponent AE82: 60 RTS Previous Page / Next Page |