378
Appendix A: System Routines — Direct Floating Point Operations
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
bcdlong
Declaration:
BCD16
bcdlong
(BCD16
a
)
Category(ies):
Direct Floating Point Operations
Description:
Convert a BCD16 floating-point number to an integer. This routine
performs the same function as the C cast operator “(long)” on a BCD16
value. This routine is provided as a convenience for assembly language
programs.
Inputs:
a
— A BCD16 floating pointer number.
Outputs:
Returns the long integer equivalent of
a
.
Assumptions:
None
Side Effects:
None
Availability:
All versions of the TI
-
89 / TI
-
92 Plus.
TI
-
89 / TI
-
92 Plus
Differences:
None
See Also: bcdadd, bcdbcd, bcdcmp, bcddiv, bcdmul, bcdneg, bcdsub
Example:
a = -20
longa = -24
.
.
.
move.l a(a6),-(sp) ;push a (a BCD16 floating-point number)
move.l a+4(a6),-(sp)
move.w a+8(a6),-(sp)
move.l bcdlong(a2),a0 ;assumes a2 -> jump table
jsr (a0) ;call bcdlong(a)
lea 10(sp),sp ;pop parameters
move.l d0,longa(sp) ;returned long value is in D0