|IN1, IN2||VD, ID, QD, MD, SMD, SD, LD, HC, AC, Constant, *VD, *AC, *LD||DINT|
|OUT||VD, ID, QD, MD, SMD, SD, LD, AC, *VD, *LD, *AC||DINT|
|Memory Ranges||ENO||Errors||Instruction Support for S7-200 CPUs||SIMATIC/International Mnemonics|
|The Multiply Double Integer instruction multiplies two 32-bit integers and produces a 32-bit product.
The Divide Double Integer instruction divides two 32-bit integers and produces a 32-bit quotient. No remainder is kept.
In LAD and FBD: IN1 * IN2 = OUT
IN1 / IN2 = OUT
In STL: IN1 * OUT = OUT
OUT / IN1 = OUT
Error Conditions that Set ENO = 0:
SM1.1 (overflow), SM1.3 (divide-by-zero), SM4.3 (run-time), 0006 (indirect address)
These instructions affect the following Special Memory bits:
SM1.0 (zero); SM1.1 (overflow); SM1.2 (negative); SM1.3 (divide-by-zero)
If SM1.1 (overflow) is set during a multiply or divide operation, the output is not written and all other math status bits are set to zero.
If SM1.3 (divide by zero) is set during a divide operation, then the other math status bits are left unchanged and the original input operands are not altered. Otherwise, all supported math status bits contain valid status upon completion of the math operation.