User Tools

Site Tools


base:kernal_floating_point_mathematics

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
base:kernal_floating_point_mathematics [2016-02-06 01:17] malcontentbase:kernal_floating_point_mathematics [2016-03-14 16:54] – fixed the mantissa range litwr2
Line 3: Line 3:
 [[http://en.wikipedia.org/wiki/Floating_point|Floating point]] numbers are handled by the C64's BASIC and Kernal ROMs. Called directly from machine language programs, they execute faster than when burdened by the BASIC interpreter. The difficulty lies in the variety of ways you must prepare the registers and zero-page before calling certain routines. Macros are recommended when dealing with FP in assembly.\\ [[http://en.wikipedia.org/wiki/Floating_point|Floating point]] numbers are handled by the C64's BASIC and Kernal ROMs. Called directly from machine language programs, they execute faster than when burdened by the BASIC interpreter. The difficulty lies in the variety of ways you must prepare the registers and zero-page before calling certain routines. Macros are recommended when dealing with FP in assembly.\\
  
-Floating point numbers are stored with 5 bytes. The first byte is the exponent, stored in excess $80 format (E = E - $80). Second byte holds the sign of the mantissa in its uppermost bit. The normalised mantissa (=< M < 2) is assumed to have a leading 1, and the following bits hold the fraction. If the exponent is 0, the number is interpreted as 0 regardless of the contents of the mantissa. +Floating point numbers are stored with 5 bytes. The first byte is the exponent, stored in excess $80 format (E = E - $80). Second byte holds the sign of the mantissa in its uppermost bit. The normalized mantissa (=< M < 1) is assumed to have a leading 1, and the following bits hold the fraction. If the exponent is 0, the number is interpreted as 0 regardless of the contents of the mantissa. 
  
 81 00 00 00 00 =   1 =  2<sup>1</sup> x %1.000...\\  81 00 00 00 00 =   1 =  2<sup>1</sup> x %1.000...\\ 
base/kernal_floating_point_mathematics.txt · Last modified: 2020-12-06 20:48 by pararaum