Modu, Modu syntax, Description – Intel Extensible Firmware Interface User Manual
Page 808: Operation, Behaviors and restrictions
Extensible Firmware Interface Specification
19-34
12/01/02
Version 1.10
MODU
SYNTAX:
MODU[32|64] {@}R
1
, {@}R
2
{Index16|Immed16}
DESCRIPTION:
Perform a modulus on two unsigned 32-bit (MODU32) or 64-bit (MODU64) operands and store the
result to Operand 1.
OPERATION:
Operand 1 <= Operand 1 MOD Operand 2
Table 19-25. MODU Instruction Encoding
BYTE DESCRIPTION
Bit Description
7
0 = Immediate/index absent
1 = Immediate/index present
6
0 = 32-bit operation
1 = 64-bit operation
0
0..5
Opcode = 0x13
Bit Description
7
0 = Operand 2 direct
1 = Operand 2 indirect
4..6 Operand
2
3
0 = Operand 1 direct
1 = Operand 1 indirect
1
0..2 Operand
1
2..3
Optional 16-bit immediate data/index
BEHAVIORS AND RESTRICTIONS:
• If Operand 2 is indirect, then the immediate data is interpreted as an index, and the Operand 2
value is fetched from memory as an unsigned value at address [R
2
+ Index16].
• If Operand 2 is direct, then the immediate data is considered an unsigned immediate value such
that Operand 2 = R
2
+ Immed16.
• If Operand 2 = 0, then a divide-by-zero exception is generated.