13.07.2015 Views

The PowerPC 604 RISC Microprocessor - eisber.net

The PowerPC 604 RISC Microprocessor - eisber.net

The PowerPC 604 RISC Microprocessor - eisber.net

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

dillDouble float multiplyddivDouble float divideSyntax.L distil = /07ISyntax:ddiv =IIIIStack: .., mind -word!, value! -tuord2, value?-word!, tmlue2-word2 => ..., result-word I, result -word?Stack: ..., ualuel word! , value! -word?, vnlue2.wordl, value2-word2 => , result word I, result word?value! and value? must be double-precision floating point numbers. Both values are replaced on thestack by their double-precision floating point product.Morel and value? must be double-precision floating point numbers. value! is divided by value?, andboth values are replaced on the stack by their double-precision floating point quotientDivide by zero results in the quotient being NaN.idlyInteger divideSyntaxStack.itliv = 101!., value!, value? => , result(*duel and valise? must be integers valise! is divided by value?, and both values are replaced on thestack by their integer quotient.<strong>The</strong> result is truncated to the nearest integer that is between it and 0. An attempt to divide by zeroresults in a "/ by zero" AT i thmet icExcept ion being thrown.i remInteger remainderSyntax:Iiron = II?Stack: ..., vnluel, tolue2 =>resultvalue! and valise? must both be integers wheel is divided by value?, and both values are replaced onthe stack by their integer remainder.An attempt to divide by zero results in a "1 by zero" Ari thmet icExcept ion being thrownIdlyLong integer divideSyntax:( Idly = 109Slack: ..., value!-word!, mind-word?, untue2-word2, untue2.word2 => ..., result-word!, result-word2!remNote: need a description of the integer remainder semanticslong integer remainderSyntax:L kens = 113Ivalise! and value? must be long integers. value! is divided by value?, and both values are replaced onthe stack by their long integer quotient.<strong>The</strong> result is truncated to the nearest integer that is between it and 0. An attempt to divide by zeroresults in A"1 by zero" Ar thmet i cExcept i on being thrown.Stack: ..., unfurl-word!, value! -word?, value2-wordl, value2-word? =>resort-worif I, result •loor,12value! and value? must both be long integers, value! is divided by value?, and both valises are replacedon the stack by their long integer remainder.An attempt to divide by zero results in a "I by zero" Ari thmet icExcept ion being thrown.fdivNote: need a description of the integer remainder semanticsSingle float divideSyntax:fthv = I/OIf remSingle float remainderStack: .., value!, value? => ..., resultvalue! and value? must be single-precision floating point numbers. value! is divided by value?, andboth values arc replaced on the stack by their single-precision floating point quotient.Syntax:I Iron = 114 —1Stack: ..., value!, value?..., resultDivide by zero results in the quotient being NaN.value! and value? must both be single-precision floating point numbers. mina is divided by thaw - 2,and the quotient is truncated to an integer, and then multiplied by value? <strong>The</strong> product is subtractedfrom mluel.<strong>The</strong> result, as a single-precision floating point number, replaces both values on the stackresult = value! - (inteval_part(txtitiel/ value?) • value?), where integral_part0 rounds to the nearestinteger, with a tie going to the even numberAn attempt to divide by zero results in NaN.Note: gls to provide a better definition of the floating remainder semanticsAugust 21.199 5 JAVA VI( At Machine Specification 47 48 la ns VsrlUAi Machine Specification August ti, 1495

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

Saved successfully!

Ooh no, something went wrong!