Floating-Point Conversion (IEEE Std. 754)
5-24
Example 5–7. TMS320C3x-to-IEEE Conversion (Complete Version)
*
* TITLE TMS320C3x TO IEEE CONVERSION (COMPLETE VERSION)
*
*
* SUBROUTINE TOIEEE1
*
*
* FUNCTION: CONVERSION BETWEEN THE TMS320C3x FORMAT AND THE IEEE
* FLOATING-POINT FORMAT. THE NUMBER TO BE CONVERTED
* IS IN THE UPPER 32 BITS OF R0. THE RESULT WILL BE
* IN THE LOWER 32 BITS OF R0.
*
*
* UPON ENTERING THE ROUTINE, AR1 POINTS TO THE FOLLOWING TABLE:
*
* (0)0xFF800000 <–– AR1
* (1)0xFF000000
(2)0x7F000000
* (3)0x80000000
* (4)0x81000000
* (5)0x7F800000
* (6)0x00400000
* (7)0x007FFFFF
* (8)0x7F7FFFFF
*
* ARGUMENT ASSIGNMENTS:
* ARGUMENT | FUNCTION
* ––––––––––+–––––––––––––––––––––––––––––––––––––
* R0 | NUMBER TO BE CONVERTED
* AR1 | POINTER TO TABLE WITH CONSTANTS
*
* REGISTERS USED AS INPUT: R0, AR1
* REGISTERS MODIFIED: R0
* REGISTER CONTAINING RESULT: R0
*
* NOTE: SINCE THE STACK POINTER ’SP’ IS USED, MAKE SURE TO
* INITIALIZE IT IN THE CALLING PROGRAM.
*
*
* CYCLES: 31 (WORST CASE) WORDS: 25
*.global TOIEEE1