Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site genrad.UUCP Path: utzoo!linus!decvax!genrad!al From: al@genrad.UUCP (Al Gudaitis) Newsgroups: net.micro.cbm Subject: Re: Re: c64 floating point, part 3 - (nf) Message-ID: <3857@genrad.UUCP> Date: Thu, 16-Feb-84 13:08:19 EST Article-I.D.: genrad.3857 Posted: Thu Feb 16 13:08:19 1984 Date-Received: Fri, 17-Feb-84 06:15:26 EST References: <5652@uiucdcs.UUCP> Organization: GenRad, Bolton, Mass. Lines: 15 In regards to the accuracy of addresses $BBD4 vs $BBD7 for moving F1 to memory and $BC0C vs $BC0F for moving F1 to F2, I still think I'm right that the lower addresses are correct. First of all, the extra byte at $70 is very important and should not be ignored. BASIC obtains extra accuracy by using one more bit of mantissa for arithmetic operations on the main floating point accumulator (F1) and then rounding off before sending F1 to any place else (the storage format in memory is different and so needs conversion and the secondary FPA (F2) doesn't have room to store the extra bit). But in addition, $BBD0 is the entry point for the routine that stores the FPA into the memory occupied by the current variable (as in a LET statement) and it loads X and Y with the correct address and then falls through to $BBD4. In fact, I found no routine within BASIC that calls $BBD7. By analogy, I assume that $BC0C is actually the correct entry point for most F1 to F2 operations though I agree with you that the only difference between your entry points and mine is that call to $BC1B.