161 1DD8 7F 58 LE2 DCM 0.69314718 LOG BASE E OF 2
B9 0C
162 1DDC 80 52 A1 DCM 1.2920074
B0 40
163 1DE0 81 AB MB DCM -2.6398577
86 49
164 1DE4 80 6A C DCM 1.6567626
08 66
165 1DE8 7F 40 MHLF DCM 0.5
00 00
166 *
167 1E00 ORG $1E00 STARTING LOCATION FOR EXP
168 *
169 * EXP OF MANT/EXP1 RESULT IN MANT/EXP1
170 *
171 1E00 A2 03 EXP LDX =3 4 BYTE TRANSFER
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
175 1E08 10 F8 BPL EXP+2
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
179 1E11 95 10 STA Z,X STORE EXP/MANT1 IN Z
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
183 1E19 A5 0A LDA M1+1
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
187 1E20 A5 09 LDA M1
188 1E22 E9 00 SBC =0
189 1E24 10 15 BPL OVFLW OVERFLOW INT>=124
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
193 1E2B A5 09 LDA M1
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
197 1E33 A2 03 LDX =3 4 BYTE MOVE
198 1E35 95 08 ZERO STA X1,X SET EXP/MANT1 TO ZERO
199 1E37 CA DEX
200 1E38 10 FB BPL ZERO
201 1E3A 60 RTS RETURN
202 *
203 1E3B 00 OVFLW BRK OVERFLOW
204 *
205 1E3C 20 2C 1F CONTIN JSR FLOAT FLOAT INT
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
209 1E45 CA DEX
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
213 1E4D B5 08 ZSAV LDA X1,X
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
217 1E54 10 F7 BPL ZSAV