Lines Matching refs:LEN
539 set BYTE, 1 # len(byte) == 1 byte
540 set WORD, 2 # len(word) == 2 bytes
541 set LONG, 4 # len(longword) == 2 bytes
15911 cmp.w %d0,L_SCR1(%a6) # is difference >= len(mantissa)+2?
15947 cmp.w %d0,2+L_SCR1(%a6) # is difference >= len(mantissa)+2?
23505 # A6. Calculate LEN. #
23506 # LEN is the number of digits to be displayed. The #
23511 # If LEN is computed to be greater than 17, set OPERR in #
23512 # USER_FPSR. LEN is stored in d4. #
23516 # of decimal places needed to insure LEN integer digits #
23547 # A13. Check for LEN digits. #
23548 # If the int operation results in more than LEN digits, #
23549 # or less than LEN -1 digits, adjust ILOG and repeat from #
23551 # result is exactly 10^LEN, decrement ILOG and divide #
23555 # The binstr routine is used to convert the LEN digit #
23557 # to be a fraction; i.e. (mantissa)/10^LEN and adjusted #
23600 # d0: scratch; LEN input to binstr
23604 # d4: LEN
23732 # A6. Calculate LEN.
23733 # LEN is the number of digits to be displayed. The k-factor
23738 # If LEN is computed to be greater than 17, set OPERR in
23739 # USER_FPSR. LEN is stored in d4.
23746 # d4: exc picture/LEN
23763 ble.b k_neg # if k <= 0, LEN = ILOG + 1 - k
23764 mov.l %d7,%d4 # if k > 0, LEN = k
23765 bra.b len_ck # skip to LEN check
23771 tst.l %d4 # LEN check: branch on sign of LEN
23772 ble.b LEN_ng # if neg, set LEN = 1
23773 cmp.l %d4,&17 # test if LEN > 17
23775 mov.l &17,%d4 # set max LEN = 17
23781 mov.l &1,%d4 # min LEN is 1
23786 # of decimal places needed to insure LEN integer digits
23818 # d4: LEN/Unchanged
23840 mov.l %d6,%d0 # calc ILOG + 1 - LEN in d0
23842 sub.l %d4,%d0 # sub off LEN
23921 # d4: LEN/Unchanged
24009 # d4: LEN/Unchanged
24050 # d4: LEN/Unchanged
24102 # A13. Check for LEN digits.
24103 # If the int operation results in more than LEN digits,
24104 # or less than LEN -1 digits, adjust ILOG and repeat from
24106 # result is exactly 10^LEN, decrement ILOG and divide
24107 # the mantissa by 10. The calculation of 10^LEN cannot
24118 # d4: LEN/LEN adjusted
24127 # fp2: x/10^LEN
24138 # Compute 10^(LEN-1)
24141 mov.l %d4,%d0 # put LEN in d0
24142 subq.l &1,%d0 # d0 = LEN -1
24150 tst.l %d0 # test if LEN is zero
24153 # 10^LEN-1 is computed for this test and A14. If the input was
24154 # denormalized, check only the case in which YINT > 10^LEN.
24161 # Compare abs(YINT) to 10^(LEN-1) and 10^LEN
24165 fcmp.x %fp0,%fp2 # compare abs(YINT) with 10^(LEN-1)
24170 fmul.s FTEN(%pc),%fp2 # compute 10^LEN
24173 fmul.s FTEN(%pc),%fp2 # compute 10^LEN
24174 fcmp.x %fp0,%fp2 # compare abs(YINT) with 10^LEN
24187 # and shouldn't have another; this is to check if abs(YINT) = 10^LEN
24188 # 10^LEN is again computed using whatever table is in a1 since the
24193 mov.l %d4,%d0 # put LEN in d0
24201 tst.l %d0 # test if LEN is zero
24204 fcmp.x %fp0,%fp2 # check if abs(YINT) = 10^LEN
24208 addq.l &1,%d4 # and inc LEN
24209 fmul.s FTEN(%pc),%fp2 # if LEN++, the get 10^^LEN
24212 # The binstr routine is used to convert the LEN digit
24214 # to be a fraction; i.e. (mantissa)/10^LEN and adjusted
24222 # d0: x/LEN call to binstr - final is 0
24226 # d4: LEN/Unchanged
24236 # fp2: 10^LEN/Unchanged
24244 fdiv.x %fp2,%fp0 # divide abs(YINT) by 10^LEN
24246 fmov.x %fp0,(%a0) # move abs(YINT)/10^LEN to memory
24273 mov.l %d4,%d0 # put LEN in d0 for binstr call
24295 # d0: x/LEN call to binstr - final is 0
24299 # d4: LEN/Unchanged
24308 # fp2: 10^LEN/Unchanged
24379 # d4: LEN/Unchanged
24388 # fp2: 10^LEN/Unchanged
24467 # d0 = desired length (LEN) #
24473 # a0 = pointer to LEN bcd digits representing the 64-bit integer. #
24480 # LEN digits are formed. #
24503 # A7. Decrement d6 (LEN counter) and repeat the loop until zero. #
24511 # d0: LEN counter
24530 subq.l &1,%d0 # for dbf d0 would have LEN+1 passes
24571 swap %d7 # put LEN counter in word d7a
24578 swap %d7 # put LEN counter in word d7a