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
5458 cmp.w %d0,L_SCR1(%a6) # is difference >= len(mantissa)+2?
5494 cmp.w %d0,2+L_SCR1(%a6) # is difference >= len(mantissa)+2?
13466 # A6. Calculate LEN. #
13467 # LEN is the number of digits to be displayed. The #
13472 # If LEN is computed to be greater than 17, set OPERR in #
13473 # USER_FPSR. LEN is stored in d4. #
13477 # of decimal places needed to insure LEN integer digits #
13508 # A13. Check for LEN digits. #
13509 # If the int operation results in more than LEN digits, #
13510 # or less than LEN -1 digits, adjust ILOG and repeat from #
13512 # result is exactly 10^LEN, decrement ILOG and divide #
13516 # The binstr routine is used to convert the LEN digit #
13518 # to be a fraction; i.e. (mantissa)/10^LEN and adjusted #
13561 # d0: scratch; LEN input to binstr
13565 # d4: LEN
13693 # A6. Calculate LEN.
13694 # LEN is the number of digits to be displayed. The k-factor
13699 # If LEN is computed to be greater than 17, set OPERR in
13700 # USER_FPSR. LEN is stored in d4.
13707 # d4: exc picture/LEN
13724 ble.b k_neg # if k <= 0, LEN = ILOG + 1 - k
13725 mov.l %d7,%d4 # if k > 0, LEN = k
13726 bra.b len_ck # skip to LEN check
13732 tst.l %d4 # LEN check: branch on sign of LEN
13733 ble.b LEN_ng # if neg, set LEN = 1
13734 cmp.l %d4,&17 # test if LEN > 17
13736 mov.l &17,%d4 # set max LEN = 17
13742 mov.l &1,%d4 # min LEN is 1
13747 # of decimal places needed to insure LEN integer digits
13779 # d4: LEN/Unchanged
13801 mov.l %d6,%d0 # calc ILOG + 1 - LEN in d0
13803 sub.l %d4,%d0 # sub off LEN
13882 # d4: LEN/Unchanged
13970 # d4: LEN/Unchanged
14011 # d4: LEN/Unchanged
14063 # A13. Check for LEN digits.
14064 # If the int operation results in more than LEN digits,
14065 # or less than LEN -1 digits, adjust ILOG and repeat from
14067 # result is exactly 10^LEN, decrement ILOG and divide
14068 # the mantissa by 10. The calculation of 10^LEN cannot
14079 # d4: LEN/LEN adjusted
14088 # fp2: x/10^LEN
14099 # Compute 10^(LEN-1)
14102 mov.l %d4,%d0 # put LEN in d0
14103 subq.l &1,%d0 # d0 = LEN -1
14111 tst.l %d0 # test if LEN is zero
14114 # 10^LEN-1 is computed for this test and A14. If the input was
14115 # denormalized, check only the case in which YINT > 10^LEN.
14122 # Compare abs(YINT) to 10^(LEN-1) and 10^LEN
14126 fcmp.x %fp0,%fp2 # compare abs(YINT) with 10^(LEN-1)
14131 fmul.s FTEN(%pc),%fp2 # compute 10^LEN
14134 fmul.s FTEN(%pc),%fp2 # compute 10^LEN
14135 fcmp.x %fp0,%fp2 # compare abs(YINT) with 10^LEN
14148 # and shouldn't have another; this is to check if abs(YINT) = 10^LEN
14149 # 10^LEN is again computed using whatever table is in a1 since the
14154 mov.l %d4,%d0 # put LEN in d0
14162 tst.l %d0 # test if LEN is zero
14165 fcmp.x %fp0,%fp2 # check if abs(YINT) = 10^LEN
14169 addq.l &1,%d4 # and inc LEN
14170 fmul.s FTEN(%pc),%fp2 # if LEN++, the get 10^^LEN
14173 # The binstr routine is used to convert the LEN digit
14175 # to be a fraction; i.e. (mantissa)/10^LEN and adjusted
14183 # d0: x/LEN call to binstr - final is 0
14187 # d4: LEN/Unchanged
14197 # fp2: 10^LEN/Unchanged
14205 fdiv.x %fp2,%fp0 # divide abs(YINT) by 10^LEN
14207 fmov.x %fp0,(%a0) # move abs(YINT)/10^LEN to memory
14234 mov.l %d4,%d0 # put LEN in d0 for binstr call
14256 # d0: x/LEN call to binstr - final is 0
14260 # d4: LEN/Unchanged
14269 # fp2: 10^LEN/Unchanged
14340 # d4: LEN/Unchanged
14349 # fp2: 10^LEN/Unchanged
14428 # d0 = desired length (LEN) #
14434 # a0 = pointer to LEN bcd digits representing the 64-bit integer. #
14441 # LEN digits are formed. #
14464 # A7. Decrement d6 (LEN counter) and repeat the loop until zero. #
14472 # d0: LEN counter
14491 subq.l &1,%d0 # for dbf d0 would have LEN+1 passes
14532 swap %d7 # put LEN counter in word d7a
14539 swap %d7 # put LEN counter in word d7a