Program instructions
7.8 Math
7.8.2
Multiply integer to double integer and divide integer with remainder
LAD / FBD
STL
MUL IN1, OUT
DIV IN1, OUT
Non-fatal errors with ENO=0
0006H Indirect address
•
SM1.1 Overflow
•
SM1.3 Divide by zero
•
For both of these instructions, SM bits indicate errors and illegal values. If SM1.3 (divide by zero) is set during a divide
1
operation, then the other math status bits are left unchanged. Otherwise, all supported math status bits contain valid
status upon completion of the math operation.
Input / output
Data type
IN1, IN2
INT
OUT
DINT
262
Description
The multiply integer to double Integer instruction multiplies two 16-bit integers and
produces a 32-bit product.
In STL, the least-significant word (16 bits) of the 32-bit OUT is used as one of the
factors.
LAD and FBD: IN1 * IN2 = OUT
•
STL: IN1 * OUT = OUT
•
The divide integer with remainder instruction divides two 16-bit integers and pro-
duces a 32-bit result consisting of a 16-bit remainder (the most-significant word) and
a 16-bit quotient (the least-significant word).
In STL, the least-significant word (16 bits) of the 32-bit OUT is used as the dividend.
LAD and FBD: IN1 / IN2 = OUT
•
STL: OUT / IN1 = OUT
•
SM bits affected
1
SM1.0 Result of operation = zero
•
SM1.1 Overflow, illegal value generated during the operation, or illegal input
•
SM1.2 Negative result
•
SM1.3 Divide by zero
•
Operand
IW, QW, VW, MW, SMW, SW, T, C, LW, AC, AIW, *VD, *LD, *AC, Constant
ID, QD, VD, MD, SMD, SD, LD, AC, *VD, *LD, *AC
System Manual, 09/2015, A5E03822230-AC
S7-200 SMART