INSTRUCTION SET REFERENCE
6-48
6.2.25
ediv
Mnemonic:
ediv
Extended Divide
Format:
ediv
src1,
src2,
dst
reg/lit
reg/lit
reg
Description:
Divides src2 by src1 and stores result in dst. The src2 value is a long ordinal
(64 bits) contained in two adjacent registers. src2 specifies the lower
numbered register which contains operand’s least significant bits. src2 must
be an even numbered register (i.e., g0, g2, ... or r4, r6, r8... ). src1 value is a
normal ordinal (i.e., 32 bits).
The result consists of a one-word remainder and a one-word quotient.
Remainder is stored in the register designated by dst; quotient is stored in the
next highest numbered register. dst must be an even numbered register (i.e.,
g0, g2, ... r4, r6, r8, ...).
This instruction performs ordinal arithmetic.
When this operation overflows (quotient or remainder do not fit in 32 bits),
no fault is raised and the result is undefined.
Action:
if((reg_number(src2)%2 != 0) || (reg_number(dst)%2 != 0))
{
dst[0] = undefined_value;
dst[1] = undefined_value;
generate_fault (OPERATION.INVALID_OPERAND);
}
else if(src1 == 0)
{
dst[0] = undefined_value;
dst[1] = undefined_value;
generate_fault(ARITHMETIC.DIVIDE_ZERO);
}
else
# Quotient
{
dst[1] = ((src2 + reg_value(src2[1]) * 2**32) / src1)[31:0];
#Remainder
dst[0] = (src2 + reg_value(src2[1]) * 2**32
- ((src2 + reg_value(src2[1]) * 2**32 / src1) * src1);
}
Faults:
STANDARD
Refer to
section 6.1.6, “Faults” (pg. 6-5)
.
ARITHMETIC.ZERO_DIVIDE
The src1 operand is 0.
Example:
ediv g3, g4, g10
# g10
=
remainder of g4,g5/g3
# g11
=
quotient of g4,g5/g3
Opcode:
ediv
671H
REG
See Also:
emul, divi, divo
Содержание i960 Jx
Страница 1: ...Release Date December 1997 Order Number 272483 002 i960 Jx Microprocessor Developer s Manual ...
Страница 24: ......
Страница 25: ...1 INTRODUCTION ...
Страница 26: ......
Страница 35: ...2 DATA TYPES AND MEMORY ADDRESSING MODES ...
Страница 36: ......
Страница 46: ......
Страница 47: ...3 PROGRAMMING ENVIRONMENT ...
Страница 48: ......
Страница 73: ...4 CACHE AND ON CHIP DATA RAM ...
Страница 74: ......
Страница 85: ...5 INSTRUCTION SET OVERVIEW ...
Страница 86: ......
Страница 111: ...6 INSTRUCTION SET REFERENCE ...
Страница 112: ......
Страница 195: ...INSTRUCTION SET REFERENCE 6 83 6 Opcode mov 5CCH REG movl 5DCH REG movt 5ECH REG movq 5FCH REG See Also LOAD STORE lda ...
Страница 233: ...7 PROCEDURE CALLS ...
Страница 234: ......
Страница 256: ......
Страница 257: ...8 FAULTS ...
Страница 258: ......
Страница 291: ...9 TRACING AND DEBUGGING ...
Страница 292: ......
Страница 309: ...10 TIMERS ...
Страница 310: ......
Страница 324: ......
Страница 325: ...11 INTERRUPTS ...
Страница 326: ......
Страница 369: ...12 INITIALIZATION AND SYSTEM REQUIREMENTS ...
Страница 370: ......
Страница 412: ......
Страница 413: ...13 MEMORY CONFIGURATION ...
Страница 414: ......
Страница 429: ...14 EXTERNAL BUS ...
Страница 430: ......
Страница 468: ......
Страница 469: ...15 TEST FEATURES ...
Страница 470: ......
Страница 493: ...A CONSIDERATIONS FOR WRITING PORTABLE CODE ...
Страница 494: ......
Страница 502: ......
Страница 503: ...B OPCODES AND EXECUTION TIMES ...
Страница 504: ......
Страница 515: ...C MACHINE LEVEL INSTRUCTION FORMATS ...
Страница 516: ......
Страница 523: ...D REGISTER AND DATA STRUCTURES ...
Страница 524: ......
Страница 550: ......
Страница 551: ...GLOSSARY ...
Страница 552: ......
Страница 561: ...INDEX ...
Страница 562: ......
Страница 578: ......