Lines Matching +full:y +full:- +full:rp

12 |		value in memory; d0 contains the k-factor sign-extended
13 | to 32-bits. The input may be either normalized,
18 | Saves and Modifies: D2-D7,A2,FP2
23 | The k-factor is saved for use in d7. Clear the
45 | k-factor can dictate either the total number of digits,
67 | A9. Scale X -> Y.
74 | compensated for by 'or-ing' in the INEX2 flag to
75 | the lsb of Y.
81 | A12. Calculate YINT = FINT(Y) according to user's rounding
87 | or less than LEN -1 digits, adjust ILOG and repeat from
114 | d2: upper 32-bits of mantissa for binstr
115 | d3: scratch;lower 32-bits of mantissa for binstr
119 | d7: k-factor
165 moveml %d2-%d7/%a2,-(%a7)
166 fmovemx %fp0-%fp2,-(%a7)
169 | The k-factor is saved for use in d7. Clear BINDEC_FLG for
177 movel %d0,%d7 |move k-factor to d7
217 | ILOG is the log base 10 of the input value. It is approx-
224 | d0: k-factor/exponent
230 | d7: k-factor/Unchanged
244 movel #-4933,%d6 |force ILOG = -4933
266 fmovel #0,%FPSR |zero all of fpsr - nothing needed
277 | LEN is the number of digits to be displayed. The k-factor
293 | d7: k-factor/Unchanged
307 bles k_neg |if k <= 0, LEN = ILOG + 1 - k
339 | ----------------------------------------------
344 | RZ 01 0 0 11/3 RP
345 | RZ 01 0 1 11/3 RP
348 | RM 10 0 0 11/3 RP
351 | RM 10 1 1 11/3 RP
352 | RP 11 0 0 10/2 RM
353 | RP 11 0 1 11/3 RP
354 | RP 11 1 0 11/3 RP
355 | RP 11 1 1 10/2 RM
359 | d0: exponent/scratch - final is 0
361 | d3: x/scratch - offset ptr into PTENRM array
365 | d7: k-factor/Unchanged
380 cmpl %d6,%d7 |test k - ILOG
384 movel %d6,%d0 |calc ILOG + 1 - LEN in d0
393 cmpl #0xffffecd4,%d0 |test iscale <= -4908
421 leal PTENRP,%a1 |load a1 with RP table base
450 | A9. Scale X -> Y.
470 | d7: k-factor/Unchanged
474 | fp0: float(ILOG)/X adjusted for SCALE (Y)
487 fdivx %fp1,%fp0 |calculate X / SCALE -> Y to fp0
493 fmovemx %fp1-%fp1,-(%a7) |load ETEMP with 10^ISCALE
494 movel 8(%a0),-(%a7) |load FPTEMP with input arg
495 movel 4(%a0),-(%a7)
496 movel (%a0),-(%a7)
499 clrl -(%a7) |clear lword on stack
502 moveb #BUSY_SIZE-4,1(%a7) |write current busy size
516 fmulx %fp1,%fp0 |calculate X * SCALE -> Y to fp0
521 | for by 'or-ing' in the INEX2 flag to the lsb of Y.
531 | d7: k-factor/Unchanged
535 | fp0: Y/Y with lsb adjusted
541 fmovex %fp0,FP_SCR2(%a6) |move Y to memory
546 fmovex FP_SCR2(%a6),%fp0 |write adjusted Y back to fpu
561 | A12. Calculate YINT = FINT(Y) according to user's rounding mode.
572 | d7: k-factor/Unchanged
576 | a6: temp pointer to FP_SCR2(a6) - orig value saved and restored
577 | fp0: Y/YINT
581 | F_SCR2:Y adjusted for inex/Y with original exponent
586 moveml %d0-%d1/%a0-%a1,-(%a7) |save regs used by sintd0
587 movel L_SCR1(%a6),-(%a7)
588 movel L_SCR2(%a6),-(%a7)
590 fmovex %fp0,(%a0) |move Y to memory at FP_SCR2(a6)
592 bges do_fint |if pos, use Y
593 orl #0x80000000,(%a0) |if neg, use -Y
595 movel USER_FPSR(%a6),-(%a7)
601 moveml (%a7)+,%d0-%d1/%a0-%a1 |restore regs used by sint
608 | or less than LEN -1 digits, adjust ILOG and repeat from
613 | in extended precision, so the use of a previous power-of-ten
625 | d7: k-factor/Unchanged
629 | fp0: int portion of Y/abs(YINT) adjusted
633 | F_SCR2:Y with original exponent/Unchanged
640 bne not_zr |if non-zero, go to second test
642 | Compute 10^(LEN-1)
646 subql #1,%d0 |d0 = LEN -1
657 | 10^LEN-1 is computed for this test and A14. If the input was
665 | Compare abs(YINT) to 10^(LEN-1) and 10^LEN
669 fcmpx %fp2,%fp0 |compare abs(YINT) with 10^(LEN-1)
727 | d0: x/LEN call to binstr - final is 0
729 | d2: x/ms 32-bits of mant of abs(YINT)
730 | d3: x/ls 32-bits of mant of abs(YINT)
734 | d7: k-factor/Unchanged
739 | fp0: int portion of Y/abs(YINT) adjusted
743 | F_SCR2:Y with original exponent/Unchanged
790 | -----------------------------------------
792 | -----------------------------------------
795 | is non-zero, OPERR is signaled. In all cases, all 4 digits are
800 | d0: x/LEN call to binstr - final is 0
802 | d2: x/ms 32-bits of exp fraction/scratch
803 | d3: x/ls 32-bits of exp fraction
807 | d7: k-factor/Unchanged
815 | F_SCR2:Y with original exponent/ILOG/10^4
823 fbeq den_zero |if zero, use k-factor or 4933
828 tstl %d7 |check sign of the k-factor
881 | d0: x/scratch - final is x
887 | d7: k-factor/Unchanged
915 fmovemx (%a7)+,%fp0-%fp2
916 moveml (%a7)+,%d2-%d7/%a2