324
BCD Calculation Instructions
Section 5-21
5-21-8 DOUBLE BCD SUBTRACT – SUBL(55)
Limitations
DM 6143 to DM 6655 cannot be used for R.
Description
When the execution condition is OFF, SUBL(55) is not executed. When the
execution condition is ON, SUBL(55) subtracts CY and the 8-digit contents of
Su and Su+1 from the 8-digit value in Mi and Mi+1, and places the result in R
and R+1. If the result is negative, CY is set and the 10’s complement of the
actual result is placed in R. To convert the 10’s complement to the true result,
subtract the content of R from zero. Since an 8-digit constant cannot be
directly entered, use the BSET(71) instruction (see
5-18-4 BLOCK SET –
BSET(71)
) to create an 8-digit constant.
Flags
ER:
Mi, M+1,Su, or Su+1 are not BCD.
Indirectly addressed EM/DM word is non-existent.
(Content of
*
EM/
*
DM word is not BCD, or the EM/DM area boundary
has been exceeded.)
CY:
ON when the result is negative, i.e., when Mi is less than Su.
EQ:
ON when the result is 0.
Example
The following example works much like that for single-word subtraction. In this
example, however, BSET(71) is required to clear the content of DM 0000 and
DM 0001 so that a negative result can be subtracted from 0 (inputting an 8-
digit constant is not possible).
Mi
:
First minuend word (BCD)
IR, SR, AR, DM, EM, HR, TIM/CNT, LR, #
Su
:
First subtrahend word (BCD)
IR, SR, AR, DM, EM, HR, TIM/CNT, LR, #
Ladder Symbols
Operand Data Areas
R
:
First result word
IR, SR, AR, DM, EM, HR, LR
SUBL(55)
Mi
Su
R
@SUBL(55)
Mi
Su
R
Mi + 1
Mi
Su + 1
Su
R + 1
R
−
CY
CY