Multiply int
Format
imul
Forms
imul = 70 (0x46)
Stack
…, value1.word1, value1.word2, value2.word1, value2.word2 → …, result.word1, result.word2
Description
Both value1 and value2 must be of type int. The values are popped from the operand stack. The int result is value1 * value2. The result is pushed onto the operand stack.
If an imul instruction overflows, then the result is the low-order bits of the mathematical product as an int. If overflow occurs, then the sign of the result may not be the same as the sign of the mathematical product of the two values.
Notes
If a virtual machine does not support the int data type, the imul instruction will not be available.