Apple ii Battery Charger User Manual


 
39 0003 EA SIGN NOP
40 0004 EA X2 NOP EXPONENT 2
41 0005 00 00 00 M2 BSS 3 MANTISSA 2
42 0008 EA X1 NOP EXPONENT 1
43 0009 00 00 00 M1 BSS 3 MANTISSA 1
44 000C E BSS 4 SCRATCH
45 0010 Z BSS 4
46 0014 T BSS 4
47 0018 SEXP BSS 4
48 001C 00 INT BSS 1
49 *
50 1D00 ORG $1D00 STARTING LOCATION FOR LOG
51 *
52 * NATURAL LOG OF MANT/EXP1 WITH RESULT IN MANT/EXP1
53 *
54 1D00 A5 09 LOG LDA M1
55 1D02 F0 02 BEQ ERROR
56 1D04 10 01 BPL CONT IF ARG>0 OK
57 1D06 00 ERROR BRK ERROR ARG<=0
58 *
59 1D07 20 1C 1F CONT JSR SWAP MOVE ARG TO EXP/MANT2
60 1D0A A2 00 LDX =0 MOD 9/76: LOAD X FOR LATER
61 1D0C A5 04 LDA X2 HOLD EXPONENT
62 1D0E A0 80 LDY =$80
63 1D10 84 04 STY X2 SET EXPONENT 2 TO 0 ($80)
64 1D12 49 80 EOR =$80 COMPLIMENT SIGN BIT OF ORIGINAL EXPONENT
65 1D14 85 0A STA M1+1 SET EXPONENT INTO MANTISSA 1 FOR FLOAT
66 1D16 10 01 BPL *+3 MOD 9/76: IS EXPONENT ZERO?
67 1D18 CA DEX MOD 9/76: YES SET X TO $FF
68 1D19 86 09 STX M1 MOD 9/76: SET UPPER BYTE OF EXPONENT
69 1D1B 20 2C 1F JSR FLOAT CONVERT TO FLOATING POINT
70 1D1E A2 03 LDX =3 4 BYTE TRANSFERS
71 1D20 B5 04 SEXP1 LDA X2,X
72 1D22 95 10 STA Z,X COPY MANTISSA TO Z
73 1D24 B5 08 LDA X1,X
74 1D26 95 18 STA SEXP,X SAVE EXPONENT IN SEXP
75 1D28 BD D4 1D LDA R22,X LOAD EXP/MANT1 WITH SQRT(2)
76 1D2B 95 08 STA X1,X
77 1D2D CA DEX
78 1D2E 10 F0 BPL SEXP1
79 1D30 20 4A 1F JSR FSUB Z-SQRT(2)
80 1D33 A2 03 LDX =3 4 BYTE TRANSFER
81 1D35 B5 08 SAVET LDA X1,X SAVE EXP/MANT1 AS T
82 1D37 95 14 STA T,X
83 1D39 B5 10 LDA Z,X LOAD EXP/MANT1 WITH Z
84 1D3B 95 08 STA X1,X
85 1D3D BD D4 1D LDA R22,X LOAD EXP/MANT2 WITH SQRT(2)
86 1D40 95 04 STA X2,X
87 1D42 CA DEX
88 1D43 10 F0 BPL SAVET
89 1D45 20 50 1F JSR FADD Z+SQRT(2)
90 1D48 A2 03 LDX =3 4 BYTE TRANSFER
91 1D4A B5 14 TM2 LDA T,X
92 1D4C 95 04 STA X2,X LOAD T INTO EXP/MANT2
93 1D4E CA DEX
94 1D4F 10 F9 BPL TM2
95 1D51 20 9D 1F JSR FDIV T=(Z-SQRT(2))/(Z+SQRT(2))
96 1D54 A2 03 LDX =3 4 BYTE TRANSFER
97 1D56 B5 08 MIT LDA X1,X
98 1D58 95 14 STA T,X COPY EXP/MANT1 TO T AND
99 1D5A 95 04 STA X2,X LOAD EXP/MANT2 WITH T
100 1D5C CA DEX