Lines Matching +full:0 +full:x3800
36 short 0x0000
38 short 0x0000
41 short 0x0000
43 short 0x0000
46 short 0x0000
48 short 0x0000
50 short 0x0000
52 short 0x0000
54 short 0x0000
56 short 0x0000
59 align 0x200
74 # 0x4(sp) = divisor #
75 # 0x8(sp) = hi(dividend) #
76 # 0xc(sp) = lo(dividend) #
77 # 0x10(sp) = pointer to location to place quotient/remainder #
80 # 0x10(sp) = points to location of remainder/quotient. #
111 movm.l &0x3f00,-(%sp) # save d2-d7
112 # fmovm.l &0x0,-(%sp) # save no fpregs
126 movm.l &0x3f00,-(%sp) # save d2-d7
127 # fmovm.l &0x0,-(%sp) # save no fpregs
134 mov.l 0x8(%a6),%d7 # fetch divisor
136 beq.w ldiv64eq0 # divisor is = 0!!!
138 mov.l 0xc(%a6), %d5 # get dividend hi
139 mov.l 0x10(%a6), %d6 # get dividend lo
159 mov.w &0x0, %cc # clear 'X' cc bit
164 # - is (dividend == 0) ?
165 # - is (hi(dividend) == 0 && (divisor <= lo(dividend))) ? (32-bit div)
167 tst.l %d5 # is (hi(dividend) == 0)
170 tst.l %d6 # is (lo(dividend) == 0), too
171 beq.w lddone # yes, so (dividend == 0)
176 exg %d5,%d6 # q = 0, r = dividend
207 # 0x80000000 is the largest number representable as a 32-bit negative
208 # number. the negative of 0x80000000 is 0x80000000.
209 cmpi.l %d6, &0x80000000 # will (-quot) fit in 32 bits?
217 btst &0x1f, %d6 # will (+quot) fit in 32 bits?
223 andi.w &0x10,DIV64_CC(%a6)
231 movm.l &0x0060,([0x14,%a6]) # save result
234 # fmovm.l (%sp)+,&0x0 # restore no fpregs
235 movm.l (%sp)+,&0x00fc # restore d2-d7
243 mov.l 0xc(%a6), %d5 # get dividend hi
244 mov.l 0x10(%a6), %d6 # get dividend lo
246 andi.w &0x1c,DIV64_CC(%a6)
247 ori.w &0x02,DIV64_CC(%a6) # set 'V' ccode bit
253 mov.l 0xc(%a6),([0x14,%a6])
254 mov.l 0x10(%a6),([0x14,%a6],0x4)
259 # fmovm.l (%sp)+,&0x0 # restore no fpregs
260 movm.l (%sp)+,&0x00fc # restore d2-d7
264 divu.w &0x0,%d0 # force a divbyzero exception
277 # signed/unsigned flag ddusign must be set (0=unsigned,1=signed). #
283 # if the divisor msw is 0, use simpler algorithm then the full blown
286 cmpi.l %d7, &0xffff
295 # longword of the dividend as (0) remainder (see Knuth) and merely complete
333 addq.l &0x1, DDNORMAL(%a6) # count normalization shifts
334 lsl.l &0x1, %d7 # shift the divisor
335 lsl.l &0x1, %d6 # shift u4,u3 with overflow to u2
336 roxl.l &0x1, %d5 # shift u1,u2
348 mov.w &0xffff, %d1 # use max trial quotient word
355 andi.l &0x0000ffff, %d1 # zero any remainder
384 subq.l &0x1, %d1 # yes, decrement and recheck
401 subq.l &0x1, %d1 # q is one too large
437 subq.l &0x1, %d7 # set for loop count
439 lsr.l &0x1, %d5 # shift into %d6
440 roxr.l &0x1, %d6
491 # 0x4(sp) = multiplier #
492 # 0x8(sp) = multiplicand #
493 # 0xc(sp) = pointer to location to place 64-bit result #
496 # 0xc(sp) = points to location of 64-bit result #
513 movm.l &0x3800,-(%sp) # save d2-d4
514 # fmovm.l &0x0,-(%sp) # save no fpregs
519 mov.l 0x8(%a6),%d0 # store multiplier in d0
522 mov.l 0xc(%a6),%d1 # get multiplicand in d1
526 # 63 32 0 #
581 andi.b &0x10,%d4 # keep old 'X' bit
584 ori.b &0x8,%d4 # set 'N' bit
593 movm.l &0x0003,([0x10,%a6]) # save result
596 # fmovm.l (%sp)+,&0x0 # restore no fpregs
597 movm.l (%sp)+,&0x001c # restore d2-d4
610 andi.b &0x10,%d4
611 ori.b &0x4,%d4
624 movm.l &0x3c00,-(%sp) # save d2-d5
625 # fmovm.l &0x0,-(%sp) # save no fpregs
630 mov.l 0x8(%a6),%d0 # store multiplier in d0
633 mov.l 0xc(%a6),%d1 # get multiplicand in d1
641 ori.b &0x1,%d5 # save multiplier sgn
649 eori.b &0x1,%d5 # calculate correct sign
652 # 63 32 0 #
718 andi.b &0x10,%d4 # keep old 'X' bit
721 ori.b &0x8,%d4 # set 'N' bit
730 movm.l &0x0003,([0x10,%a6]) # save result at (a0)
733 # fmovm.l (%sp)+,&0x0 # restore no fpregs
734 movm.l (%sp)+,&0x003c # restore d2-d5
747 andi.b &0x10,%d4
748 ori.b &0x4,%d4
770 # 0x4(sp) = Rn #
771 # 0x8(sp) = pointer to boundary pair #
793 movm.l &0x3800,-(%sp) # save d2-d4
794 # fmovm.l &0x0,-(%sp) # save no fpregs
798 mov.l 0x8(%a6), %d2 # get regval
800 mov.b ([0xc,%a6],0x0),%d0
801 mov.b ([0xc,%a6],0x1),%d1
812 movm.l &0x3800,-(%sp) # save d2-d4
813 # fmovm.l &0x0,-(%sp) # save no fpregs
817 mov.l 0x8(%a6), %d2 # get regval
819 mov.w ([0xc,%a6],0x0),%d0
820 mov.w ([0xc,%a6],0x2),%d1
831 movm.l &0x3800,-(%sp) # save d2-d4
832 # fmovm.l &0x0,-(%sp) # save no fpregs
836 mov.l 0x8(%a6), %d2 # get regval
838 mov.l ([0xc,%a6],0x0),%d0
839 mov.l ([0xc,%a6],0x4),%d1
847 movm.l &0x3800,-(%sp) # save d2-d4
848 # fmovm.l &0x0,-(%sp) # save no fpregs
852 mov.l 0x8(%a6), %d2 # get regval
854 mov.b ([0xc,%a6],0x0),%d0
855 mov.b ([0xc,%a6],0x1),%d1
870 movm.l &0x3800,-(%sp) # save d2-d4
871 # fmovm.l &0x0,-(%sp) # save no fpregs
875 mov.l 0x8(%a6), %d2 # get regval
877 mov.w ([0xc,%a6],0x0),%d0
878 mov.w ([0xc,%a6],0x2),%d1
893 movm.l &0x3800,-(%sp) # save d2-d4
894 # fmovm.l &0x0,-(%sp) # save no fpregs
898 mov.l 0x8(%a6), %d2 # get regval
900 mov.l ([0xc,%a6],0x0),%d0
901 mov.l ([0xc,%a6],0x4),%d1
913 andi.b &0x4, %d3 # keep 'Z' bit
919 andi.b &0x5, %d3 # keep 'Z' and 'N'
922 andi.b &0x1a, %d4 # keep 'X','N','V' bits
927 # fmovm.l (%sp)+,&0x0 # restore no fpregs
928 movm.l (%sp)+,&0x001c # restore d2-d4