Apple II User Manual
161 1DD8 7F 58 LE2 DCM 0.69314718 LOG BASE E OF 2
B9 0C
162 1DDC 80 52 A1 DCM 1.2920074
162 1DDC 80 52 A1 DCM 1.2920074
B0 40
163 1DE0 81 AB MB DCM -2.6398577
163 1DE0 81 AB MB DCM -2.6398577
86 49
164 1DE4 80 6A C DCM 1.6567626
164 1DE4 80 6A C DCM 1.6567626
08 66
165 1DE8 7F 40 MHLF DCM 0.5
165 1DE8 7F 40 MHLF DCM 0.5
00 00
166 *
166 *
167 1E00 ORG $1E00 STARTING LOCATION FOR EXP
168 *
168 *
169 * EXP OF MANT/EXP1 RESULT IN MANT/EXP1
170 *
170 *
171 1E00 A2 03 EXP LDX =3 4 BYTE TRANSFER
172 1E02 BD D8 1E LDA L2E,X
172 1E02 BD D8 1E LDA L2E,X
173 1E05 95 04 STA X2,X LOAD EXP/MANT2 WITH LOG BASE 2 OF E
174 1E07 CA DEX
174 1E07 CA DEX
175 1E08 10 F8 BPL EXP+2
176 1E0A 20 77 1F JSR FMUL LOG2(3)*X
176 1E0A 20 77 1F JSR FMUL LOG2(3)*X
177 1E0D A2 03 LDX =3 4 BYTE TRANSFER
178 1E0F B5 08 FSA LDA X1,X
178 1E0F B5 08 FSA LDA X1,X
179 1E11 95 10 STA Z,X STORE EXP/MANT1 IN Z
180 1E13 CA DEX
180 1E13 CA DEX
181 1E14 10 F9 BPL FSA SAVE Z=LN(2)*X
182 1E16 20 E8 1F JSR FIX CONVERT CONTENTS OF EXP/MANT1 TO AN INTEGER
182 1E16 20 E8 1F JSR FIX CONVERT CONTENTS OF EXP/MANT1 TO AN INTEGER
183 1E19 A5 0A LDA M1+1
184 1E1B 85 1C STA INT SAVE RESULT AS INT
184 1E1B 85 1C STA INT SAVE RESULT AS INT
185 1E1D 38 SEC SET CARRY FOR SUBTRACTION
186 1E1E E9 7C SBC =124 INT-124
186 1E1E E9 7C SBC =124 INT-124
187 1E20 A5 09 LDA M1
188 1E22 E9 00 SBC =0
188 1E22 E9 00 SBC =0
189 1E24 10 15 BPL OVFLW OVERFLOW INT>=124
190 1E26 18 CLC CLEAR CARRY FOR ADD
190 1E26 18 CLC CLEAR CARRY FOR ADD
191 1E27 A5 0A LDA M1+1
192 1E29 69 78 ADC =120 ADD 120 TO INT
192 1E29 69 78 ADC =120 ADD 120 TO INT
193 1E2B A5 09 LDA M1
194 1E2D 69 00 ADC =0
194 1E2D 69 00 ADC =0
195 1E2F 10 0B BPL CONTIN IF RESULT POSITIVE CONTINUE
196 1E31 A9 00 LDA =0 INT<-120 SET RESULT TO ZERO AND RETURN
196 1E31 A9 00 LDA =0 INT<-120 SET RESULT TO ZERO AND RETURN
197 1E33 A2 03 LDX =3 4 BYTE MOVE
198 1E35 95 08 ZERO STA X1,X SET EXP/MANT1 TO ZERO
198 1E35 95 08 ZERO STA X1,X SET EXP/MANT1 TO ZERO
199 1E37 CA DEX
200 1E38 10 FB BPL ZERO
200 1E38 10 FB BPL ZERO
201 1E3A 60 RTS RETURN
202 *
202 *
203 1E3B 00 OVFLW BRK OVERFLOW
204 *
204 *
205 1E3C 20 2C 1F CONTIN JSR FLOAT FLOAT INT
206 1E3F A2 03 LDX =3
206 1E3F A2 03 LDX =3
207 1E41 B5 10 ENTD LDA Z,X
208 1E43 95 04 STA X2,X LOAD EXP/MANT2 WITH Z
208 1E43 95 04 STA X2,X LOAD EXP/MANT2 WITH Z
209 1E45 CA DEX
210 1E46 10 F9 BPL ENTD
210 1E46 10 F9 BPL ENTD
211 1E48 20 4A 1F JSR FSUB Z*Z-FLOAT(INT)
212 1E4B A2 03 LDX =3 4 BYTE MOVE
212 1E4B A2 03 LDX =3 4 BYTE MOVE
213 1E4D B5 08 ZSAV LDA X1,X
214 1E4F 95 10 STA Z,X SAVE EXP/MANT1 IN Z
214 1E4F 95 10 STA Z,X SAVE EXP/MANT1 IN Z
215 1E51 95 04 STA X2,X COPY EXP/MANT1 TO EXP/MANT2
216 1E53 CA DEX
216 1E53 CA DEX
217 1E54 10 F7 BPL ZSAV