11.07.2015 Views

section 7 - Index of

section 7 - Index of

section 7 - Index of

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

DIV Divide Interation DIVOperation: If D[55]ffiS[23]=1,55 47 23 0thenI~I-- 1-- I+C+S+DDestination Accumulator D55 47 23 0elseI~I-- 1--I+C-S+DDestination Accumulator Dwhere ffi denotes the logical exclusive OR operatorAssembler Syntax: DIV S,D-Description:Divide the destination operand D by the source operand S and store the result in the destinationaccumulator D. The 48-bit dividend must be a positive fraction which hasbeen sign extended to 56-bits and Is stored in the full 56-bit destination accumulatorD. The 24-blt divisor is a signed fraction and Is stored in the source operand S.Each DIV iteration calculates one quotient bit using a nonrestoring fractional divisionalgorithm (see description on the next page). After the execution <strong>of</strong> the first DIV instruction,the destination operand holds both the partial remainder and the formed quotient.The partial remainder occupies the high-order portion <strong>of</strong> the destination accumulator Dand is a signed fraction. The formed quotient occupies the low-order portion <strong>of</strong> the destinationaccumulator D (AO or 80) and is a positive fraction. One bit <strong>of</strong> the formed quotientis shifted into the LS bit <strong>of</strong> the destination accumulator at the start <strong>of</strong> each DIV iteration.The formed quotient is the true quotient if the true quotient is positive. If the true quotientis negative, the formed quotient must be negated. Valid results are obtained onlywhen IDI < lSI and the operands are Interpreted as fractions. Note that this conditionensures that the magnitude <strong>of</strong> the quotient is less than one (Le., is fractional) and precludesdivision by zero.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!