Integer Multiplication and Division Integer Math

Inputs/Outputs Operands Data Types
IN1, IN2 VW, IW, QW, MW, SW, SMW, T, C, LW, AC, AIW, Constant, *VD, *AC, *LD INT
OUT VW, IW, QW, MW, SW, SMW, LW, T, C, AC, *VD, *LD, *AC INT

Memory Ranges ENO Errors Instruction Support for S7-200 CPUs SIMATIC/International Mnemonics
The Multiply Integer instruction multiplies two 16-bit integers and produces a 16-bit product.

The Divide Integer instruction divides two 16-bit integers and produces a 16-bit quotient. No remainder is kept.

The overflow bit is set if the result is greater than a word output.

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.