Lines Matching refs:to

8 |		to bcd format.
11 | a0 points to the input extended precision value
13 | to 32-bits. The input may be either normalized,
44 | LEN is the number of digits to be displayed. The
47 | after the decimal point which are to be included as
49 | If LEN is computed to be greater than 17, set OPERR in
53 | SCALE is equal to 10^ISCALE, where ISCALE is the number
54 | of decimal places needed to insure LEN integer digits
55 | in the output before conversion to bcd. LAMBDA is the
63 | RZ mode is forced for the scaling operation to insure
68 | The mantissa is scaled to the desired number of
74 | compensated for by 'or-ing' in the INEX2 flag to
79 | Keep the size to extended.
81 | A12. Calculate YINT = FINT(Y) according to user's rounding
92 | A14. Convert the mantissa to bcd.
93 | The binstr routine is used to convert the LEN digit
94 | mantissa to bcd in memory. The input to binstr is
95 | to be a fraction; i.e. (mantissa)/10^LEN and adjusted
96 | such that the decimal point is to the left of bit 63.
100 | A15. Convert the exponent to bcd.
101 | As in A14 above, the exp is converted to bcd and the
106 | A16. Write sign bits to final string.
112 | d0: scratch; LEN input to binstr
122 | a2: pointer to FP_X; abs(original value) in ext
172 | to signal denorm. If the input is unnormalized, normalize
177 movel %d0,%d7 |move k-factor to d7
211 movel (%a0),FP_SCR2(%a6) | move input to work space
212 movel 4(%a0),FP_SCR2+4(%a6) | move input to work space
213 movel 8(%a0),FP_SCR2+8(%a6) | move input to work space
247 movew FP_SCR2(%a6),%d0 |move exp to d0
277 | LEN is the number of digits to be displayed. The k-factor
280 | original decimal point which are to be included as
282 | If LEN is computed to be greater than 17, set OPERR in
309 bras len_ck |skip to LEN check
311 movel %d6,%d4 |first load ILOG to d4
329 | SCALE is equal to 10^ISCALE, where ISCALE is the number
330 | of decimal places needed to insure LEN integer digits
331 | in the output before conversion to bcd. LAMBDA is the sign
367 | a1: x/ptr to PTENRM array
395 addil #24,%d0 |add in 24 to iscale
400 fmoves FONE,%fp1 |init fp1 to 1
432 addl #12,%d3 |inc d3 to next pwrten table entry
439 | RZ mode is forced for the scaling operation to insure
451 | The mantissa is scaled to the desired number of significant
455 | to overflow. Only a negative iscale can cause this, so
456 | multiply by 10^(d2), which is now only allowed to be 24,
460 | two operands, and allow the fpu to complete the multiply.
472 | a1: ptr to PTENRM array/Unchanged
487 fdivx %fp1,%fp0 |calculate X / SCALE -> Y to fp0
488 bras A10_st |branch to A10
505 moveb #0xfe,0x8(%a7) |load all 1s to cu savepc
506 frestore (%a7)+ |restore frame to fpu for completion
516 fmulx %fp1,%fp0 |calculate X * SCALE -> Y to fp0
521 | for by 'or-ing' in the INEX2 flag to the lsb of Y.
533 | a1: ptr to PTENxx array/Unchanged
534 | a2: x/ptr to FP_SCR2(a6)
541 fmovex %fp0,FP_SCR2(%a6) |move Y to memory
542 leal FP_SCR2(%a6),%a2 |load a2 with ptr to FP_SCR2
545 oril #1,8(%a2) |or in 1 to lsb of mantissa
546 fmovex FP_SCR2(%a6),%fp0 |write adjusted Y back to fpu
551 | the size to extended. The sintdo entry point in the sint
552 | routine expects the FPCR value to be in USER_FPCR for
557 andil #0x00000030,USER_FPCR(%a6) |set size to ext,
561 | A12. Calculate YINT = FINT(Y) according to user's rounding mode.
566 | d0: FPSR with AINEX cleared/FPCR with size set to ext
574 | a1: ptr to PTENxx array/Unchanged
575 | a2: ptr to FP_SCR2(a6)/Unchanged
576 | a6: temp pointer to FP_SCR2(a6) - orig value saved and restored
589 leal FP_SCR2(%a6),%a0 |a0 is ptr to F_SCR2(a6)
590 fmovex %fp0,(%a0) |move Y to memory at FP_SCR2(a6)
612 | be inexact, since all powers of ten up to 10^27 are exact
619 | d0: FPCR with size set to ext/scratch final = 0
627 | a1: ptr to PTENxx array/Unchanged
628 | a2: ptr to FP_SCR2(a6)/Unchanged
640 bne not_zr |if non-zero, go to second test
644 fmoves FONE,%fp2 |init fp2 to 1.0
653 addl #12,%d3 |inc d3 to next pwrten table entry
665 | Compare abs(YINT) to 10^(LEN-1) and 10^LEN
673 fmovel #rm_mode,%FPCR |set rmode to RM
675 bra A6_str |return to A6 and recompute YINT
679 fblt A14_st |if less, all is ok, go to A14
687 fmovel #rm_mode,%FPCR |set rmode to RM
688 bra A6_str |return to A6 and recompute YINT
691 | and shouldn't have another; this is to check if abs(YINT) = 10^LEN
696 fmoves FONE,%fp2 |init fp2 to 1.0
704 addl #12,%d3 |inc d3 to next pwrten table entry
716 | A14. Convert the mantissa to bcd.
717 | The binstr routine is used to convert the LEN digit
718 | mantissa to bcd in memory. The input to binstr is
719 | to be a fraction; i.e. (mantissa)/10^LEN and adjusted
720 | such that the decimal point is to the left of bit 63.
727 | d0: x/LEN call to binstr - final is 0
736 | /ptr to first mantissa byte in result string
737 | a1: ptr to PTENxx array/Unchanged
738 | a2: ptr to FP_SCR2(a6)/Unchanged
751 fmovex %fp0,(%a0) |move abs(YINT)/10^LEN to memory
752 movel 4(%a0),%d2 |move 2nd word of FP_RES to d2
753 movel 8(%a0),%d3 |move 3rd word of FP_RES to d3
756 movel (%a0),%d0 |move exponent to d0
759 subil #0x3ffd,%d0 |sub bias less 2 to make fract
771 beqs zer_m |if zero, go directly to binstr
779 addql #3,%a0 |a0 points to M16 byte in result
780 bsr binstr |call binstr to convert mant
783 | A15. Convert the exponent to bcd.
784 | As in A14 above, the exp is converted to bcd and the
800 | d0: x/LEN call to binstr - final is 0
808 | a0: ptr to result string/ptr to L_SCR1(a6)
809 | a1: ptr to PTENxx array/Unchanged
810 | a2: ptr to FP_SCR2(a6)/Unchanged
830 fmoves F4933,%fp0 |force exponent to 4933
839 fmoves FONE,%fp0 |force exponent to 1
847 movel 4(%a2),%d2 |move word 2 to d2
848 movel 8(%a2),%d3 |move word 3 to d3
849 movew (%a2),%d0 |move exp to d0
863 leal L_SCR1(%a6),%a0 |a0 is ptr to L_SCR1 for exp digits
864 bsr binstr |call binstr to convert exp
865 movel L_SCR1(%a6),%d0 |load L_SCR1 lword to d0
876 | A16. Write sign bits to final string.
888 | a0: ptr to L_SCR1(a6)/Unchanged
889 | a1: ptr to PTENxx array/Unchanged
890 | a2: ptr to FP_SCR2(a6)/Unchanged
904 moveql #2,%d0 |move 2 in to d0 for SM