High−level Instructions
3 − 110
Explanation of example
Subtracts the contents of data registers DT21 and DT20 from the contents of data registers DT11 and
DT10 when trigger R0 turns on. The subtracted result is stored in data registers DT31 and DT30.
Contents of
DT11
Contents of
DT20
Contents of
DT21
Higher 16 bits Lower 16 bits
Contents of
DT10
(Subtraction)
(Result is stored.)
Store to DT31 Store to DT30
The specified data area and the
following data area are handled
together as 32−bit data.
← The lower 16 bits of subtracted result
is stored in DT30 and the higher 16
bits of the result is stored in DT31.
Description
Subtracts the 8-digit BCD equivalent constant or 8-digit BCD data specified by S2 from the 8-digit BCD
equivalent constant or the 8-digit BCD data specified by S1. The subtracted result is stored in D+1 and D.
Minuend data Result
S1: lower 4-digit
S1+1: higher 4-digit
−
S2: lower 4-digit
S2+1: higher 4-digit
D: lower 4-digit
D+1: higher 4-digit
Subtrahend data
When processing 8-digit BCD data, the higher 16-bit areas for 8-digit BCD data (S+1, D+1) are automatically
determined once the lower 16-bit areas (S, D) are specified.
Precautions during programming
If the result of an arithmetic operation instruction does not fall within the range of values which can be
handled, an underflow will result.
Under normal circumstances, do not allow an underflow to occur.
If an underflow occurs, the carry flag (special internal relay R9009) will turn on.
Flag conditions
・Error flag (R9007): Turns on and stays on when:
・Error flag (R9008): Turns on for an instant when:
− The area specified using the index modifier exceeds the limit.
− The data is not BCD data.
・= flag (R900B): Turns on for an instant when the calculated result is recognized as “0”.
・Carry flag (R9009): Turns on for an instant when the calculated result exceeds the range of 8-digit
BCD data (underflows).