INSTRUCTION SET REFERENCE
6-84
6.2.46
muli, mulo
Mnemonic:
muli
Multiply Integer
mulo
Multiply Ordinal
Format:
mul*
src1,
src2,
dst
reg/lit
reg/lit
reg
Description:
Multiplies the src2 value by the src1 value and stores the result in dst. The
binary results from these two instructions are identical. The only difference is
that muli can signal an integer overflow.
Action:
mulo:
dst = (src2 * src1)[31:0];
muli:
true_result = (src1 * src2);
dst = true_result[31:0];
if((true_result > (2**31) - 1) || (true_result < -2**31)) # Check for overflow
{
if(AC.om == 1)
AC.of = 1;
else
generate_fault(ARITHMETIC.OVERFLOW);
}
Faults:
STANDARD
Refer to
section 6.1.6, “Faults” (pg. 6-5)
.
ARITHMETIC.OVERFLOW
Result is too large for destination register
(
muli
only). When a condition of overflow
occurs, the least significant 32 bits of the
result are stored in the destination register.
Example:
muli r3, r4, r9
# r9
=
r4 * r3
Opcode:
muli
741H
REG
mulo
701H
REG
See Also:
emul, ediv, divi, divo
Summary of Contents for i960 Jx
Page 1: ...Release Date December 1997 Order Number 272483 002 i960 Jx Microprocessor Developer s Manual ...
Page 24: ......
Page 25: ...1 INTRODUCTION ...
Page 26: ......
Page 35: ...2 DATA TYPES AND MEMORY ADDRESSING MODES ...
Page 36: ......
Page 46: ......
Page 47: ...3 PROGRAMMING ENVIRONMENT ...
Page 48: ......
Page 73: ...4 CACHE AND ON CHIP DATA RAM ...
Page 74: ......
Page 85: ...5 INSTRUCTION SET OVERVIEW ...
Page 86: ......
Page 111: ...6 INSTRUCTION SET REFERENCE ...
Page 112: ......
Page 233: ...7 PROCEDURE CALLS ...
Page 234: ......
Page 256: ......
Page 257: ...8 FAULTS ...
Page 258: ......
Page 291: ...9 TRACING AND DEBUGGING ...
Page 292: ......
Page 309: ...10 TIMERS ...
Page 310: ......
Page 324: ......
Page 325: ...11 INTERRUPTS ...
Page 326: ......
Page 369: ...12 INITIALIZATION AND SYSTEM REQUIREMENTS ...
Page 370: ......
Page 412: ......
Page 413: ...13 MEMORY CONFIGURATION ...
Page 414: ......
Page 429: ...14 EXTERNAL BUS ...
Page 430: ......
Page 468: ......
Page 469: ...15 TEST FEATURES ...
Page 470: ......
Page 493: ...A CONSIDERATIONS FOR WRITING PORTABLE CODE ...
Page 494: ......
Page 502: ......
Page 503: ...B OPCODES AND EXECUTION TIMES ...
Page 504: ......
Page 515: ...C MACHINE LEVEL INSTRUCTION FORMATS ...
Page 516: ......
Page 523: ...D REGISTER AND DATA STRUCTURES ...
Page 524: ......
Page 550: ......
Page 551: ...GLOSSARY ...
Page 552: ......
Page 561: ...INDEX ...
Page 562: ......
Page 578: ......