$B867/47207:   Perform Addition

Jump from $AD4F, $B84D, $BA01, $BA1D, $E081, $E0D0, $E268, $E2A4:

B867: 20 8C BA  JSR $BA8C     ; Load FAC#2 From Memory

Jump from $B85F, $BD8E:

B86A: D0 03     BNE $B86F
B86C: 4C FC BB  JMP $BBFC     ; Copy FAC#2 into FAC#1

Jump from $B86A:

B86F: A6 70     LDX $70       ; FAC low-order rounding
B871: 86 56     STX $56       ; Jump Vector used in Function Evaluation
B873: A2 69     LDX #$69
B875: A5 69     LDA $69       ; AFAC Exponent

Jump from $BAF1:

B877: A8        TAY
B878: F0 CE     BEQ $B848     ; Perform [wait]
B87A: 38        SEC
B87B: E5 61     SBC $61       ; FAC Exponent
B87D: F0 24     BEQ $B8A3
B87F: 90 12     BCC $B893
B881: 84 61     STY $61       ; FAC Exponent
B883: A4 6E     LDY $6E       ; AFAC Sign
B885: 84 66     STY $66       ; FAC Sign
B887: 49 FF     EOR #$FF
B889: 69 00     ADC #$00
B88B: A0 00     LDY #$00
B88D: 84 56     STY $56       ; Jump Vector used in Function Evaluation
B88F: A2 61     LDX #$61
B891: D0 04     BNE $B897

Jump from $B87F:

B893: A0 00     LDY #$00
B895: 84 70     STY $70       ; FAC low-order rounding

Jump from $B891:

B897: C9 F9     CMP #$F9
B899: 30 C7     BMI $B862     ; Normalise Addition
B89B: A8        TAY
B89C: A5 70     LDA $70       ; FAC low-order rounding
B89E: 56 01     LSR $01,X     ; 6510 On-chip 8-bit Input/Output Register
B8A0: 20 B0 B9  JSR $B9B0     ; Multiply by Zero Byte

Jump from $B87D, $B865:

B8A3: 24 6F     BIT $6F       ; Sign of result of Arithmetic Evaluation
B8A5: 10 57     BPL $B8FE
B8A7: A0 61     LDY #$61
B8A9: E0 69     CPX #$69
B8AB: F0 02     BEQ $B8AF
B8AD: A0 69     LDY #$69

Jump from $B8AB:

B8AF: 38        SEC
B8B0: 49 FF     EOR #$FF
B8B2: 65 56     ADC $56       ; Jump Vector used in Function Evaluation
B8B4: 85 70     STA $70       ; FAC low-order rounding
B8B6: B9 04 00  LDA $0004,Y   ; Jump Vector: Convert FAC to Integer
B8B9: F5 04     SBC $04,X     ; Jump Vector: Convert FAC to Integer
B8BB: 85 65     STA $65       ; FAC Mantissa
B8BD: B9 03 00  LDA $0003,Y   ; Jump Vector: Convert FAC to Integer
B8C0: F5 03     SBC $03,X     ; Jump Vector: Convert FAC to Integer
B8C2: 85 64     STA $64       ; FAC Mantissa
B8C4: B9 02 00  LDA $0002,Y   ; Unused
B8C7: F5 02     SBC $02,X     ; Unused
B8C9: 85 63     STA $63       ; FAC Mantissa
B8CB: B9 01 00  LDA $0001,Y   ; 6510 On-chip 8-bit Input/Output Register
B8CE: F5 01     SBC $01,X     ; 6510 On-chip 8-bit Input/Output Register
B8D0: 85 62     STA $62       ; FAC Mantissa

Jump from $BC55, $BCE6:

B8D2: B0 03     BCS $B8D7
B8D4: 20 47 B9  JSR $B947     ; 2's Complement FAC#1

Jump from $B8D2, $BB9F, $E0EF:

B8D7: A0 00     LDY #$00
B8D9: 98        TYA
B8DA: 18        CLC

Jump from $B8F5:

B8DB: A6 62     LDX $62       ; FAC Mantissa
B8DD: D0 4A     BNE $B929
B8DF: A6 63     LDX $63       ; FAC Mantissa
B8E1: 86 62     STX $62       ; FAC Mantissa
B8E3: A6 64     LDX $64       ; FAC Mantissa
B8E5: 86 63     STX $63       ; FAC Mantissa
B8E7: A6 65     LDX $65       ; FAC Mantissa
B8E9: 86 64     STX $64       ; FAC Mantissa
B8EB: A6 70     LDX $70       ; FAC low-order rounding
B8ED: 86 65     STX $65       ; FAC Mantissa
B8EF: 84 70     STY $70       ; FAC low-order rounding
B8F1: 69 08     ADC #$08
B8F3: C9 20     CMP #$20
B8F5: D0 E4     BNE $B8DB

Jump from $B92E, $B7B2, $BADC:

B8F7: A9 00     LDA #$00

Jump from $BF81:

B8F9: 85 61     STA $61       ; FAC Exponent

Jump from $BACC:

B8FB: 85 66     STA $66       ; FAC Sign
B8FD: 60        RTS

Jump from $B8A5:

B8FE: 65 56     ADC $56       ; Jump Vector used in Function Evaluation
B900: 85 70     STA $70       ; FAC low-order rounding
B902: A5 65     LDA $65       ; FAC Mantissa
B904: 65 6D     ADC $6D       ; AFAC Mantissa
B906: 85 65     STA $65       ; FAC Mantissa
B908: A5 64     LDA $64       ; FAC Mantissa
B90A: 65 6C     ADC $6C       ; AFAC Mantissa
B90C: 85 64     STA $64       ; FAC Mantissa
B90E: A5 63     LDA $63       ; FAC Mantissa
B910: 65 6B     ADC $6B       ; AFAC Mantissa
B912: 85 63     STA $63       ; FAC Mantissa
B914: A5 62     LDA $62       ; FAC Mantissa
B916: 65 6A     ADC $6A       ; AFAC Mantissa
B918: 85 62     STA $62       ; FAC Mantissa
B91A: 4C 36 B9  JMP $B936

Jump from $B929:

B91D: 69 01     ADC #$01
B91F: 06 70     ASL $70       ; FAC low-order rounding
B921: 26 65     ROL $65       ; FAC Mantissa
B923: 26 64     ROL $64       ; FAC Mantissa
B925: 26 63     ROL $63       ; FAC Mantissa
B927: 26 62     ROL $62       ; FAC Mantissa

Jump from $B8DD:

B929: 10 F2     BPL $B91D
B92B: 38        SEC
B92C: E5 61     SBC $61       ; FAC Exponent
B92E: B0 C7     BCS $B8F7
B930: 49 FF     EOR #$FF
B932: 69 01     ADC #$01
B934: 85 61     STA $61       ; FAC Exponent

Jump from $B91A:

B936: 90 0E     BCC $B946

Jump from $BC28:

B938: E6 61     INC $61       ; FAC Exponent
B93A: F0 42     BEQ $B97E     ; Output ?OVERFLOW Error
B93C: 66 62     ROR $62       ; FAC Mantissa
B93E: 66 63     ROR $63       ; FAC Mantissa
B940: 66 64     ROR $64       ; FAC Mantissa
B942: 66 65     ROR $65       ; FAC Mantissa
B944: 66 70     ROR $70       ; FAC low-order rounding

Jump from $B936:

B946: 60        RTS

    Previous Page / Next Page