Texas Instruments TMS320C3x User Manual

Page 124

Advertising
background image

Floating-Point Conversion (IEEE Std. 754)

5-19

Data Formats and Floating-Point Operation

Example 5–5. IEEE-to-TMS320C3x Conversion (Complete Version)

*

TITLE IEEE TO TMS320C3x CONVERSION (COMPLETE VERSION)

*
*
*

SUBROUTINE FMIEEE1

*

*

FUNCTION: CONVERSION BETWEEN THE IEEE FORMAT AND THE TMS320C3x

*

FLOATING-POINT FORMAT. THE NUMBER TO BE CONVERTED

*

IS IN THE LOWER 32 BITS OF R0. THE RESULT IS STORED

*

IN THE UPPER 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, R1

*

REGISTER CONTAINING RESULT: R0

*

*

NOTE:

SINCE THE STACK POINTER SP IS USED, MAKE SURE TO

*

INITIALIZE IT IN THE CALLING PROGRAM.

*
*
*

CYCLES: 23 (WORST CASE) WORDS: 34

*

.global

FMIEEE1

*
FMIEEE1

LDI

R0,R1

AND

*+AR1(5),R1

BZ

UNNORM

;

If e = 0, number is either 0 or

*

;

denormalized

XOR

*+AR1(5),R1

BNZ

NORMAL

;

If e < 255, use regular routine

Advertising