base:errata_for_rankin_s_6502_floating_point_routines
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
— | base:errata_for_rankin_s_6502_floating_point_routines [2015-04-17 04:31] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== ERRATA FOR RANKIN' | ||
+ | < | ||
+ | Dr. Dobb's Journal, November/ | ||
+ | Sept. 22, 1976 | ||
+ | |||
+ | Dear Jim, | ||
+ | |||
+ | Subsequent to the publication of " | ||
+ | Routines for the 6502" (Vol.1, No.7) an error which I made in | ||
+ | the LOG routine came to light which causes improper results | ||
+ | if the argument is less than 1. The following changes will | ||
+ | correct the error. | ||
+ | |||
+ | 1. After: | ||
+ | Add: A2 00 LDX =0 LOAD X FOR HIGH BYTE OF EXPONENT | ||
+ | |||
+ | 2. After: | ||
+ | Delete: | ||
+ | STA M1 | ||
+ | Add: 10 01 BPL *+3 IS EXPONENT NEGATIVE | ||
+ | CA | ||
+ | 86 09 STX M1 SET UPPER BYTE OF EXPONENT | ||
+ | |||
+ | 3. Changes 1 and 2 shift the code by 3 bytes so add 3 to the | ||
+ | addresses of the constants LN10 through MHLF whenever | ||
+ | they are referenced. | ||
+ | from 1DCD to 1DD0. Note also that the entry point for | ||
+ | LOG10 becomes 1DBF. The routines stays within the page | ||
+ | and hence the following routines (EXP etc.) are not affected. | ||
+ | |||
+ | Yours truly, | ||
+ | |||
+ | Roy Rankin | ||
+ | Dep. of Mech. Eng. | ||
+ | Stanford University | ||
+ | </ |
base/errata_for_rankin_s_6502_floating_point_routines.txt · Last modified: 2015-04-17 04:31 by 127.0.0.1