CPLA [m]
Complement data memory and place result in the accumulator
Description
Each bit of the specified data memory is logically complemented (1 s complement). Bits which
previously contained a 1 are changed to 0 and vice-versa. The complemented result is stored
in the accumulator and the contents of the data memory remain unchanged.
Operation
ACC
[m]
Affected flag(s)
TC2
TC1
TO
PD
OV
Z
AC
C
DAA [m]
Decimal-Adjust accumulator for addition
Description
The accumulator value is adjusted to the BCD (Binary Coded Decimal) code. The accumula-
tor is divided into two nibbles. Each nibble is adjusted to the BCD code and an internal carry
(AC1) will be done if the low nibble of the accumulator is greater than 9. The BCD adjustment
is done by adding 6 to the original value if the original value is greater than 9 or a carry (AC or
C) is set; otherwise the original value remains unchanged. The result is stored in the data
memory and only the carry flag (C) may be affected.
Operation
If ACC.3~ACC.0 >9 or AC=1
then [m].3~[m].0
(ACC.3~ACC.0)+6, AC1=AC
else [m].3~[m].0
and
If ACC.7~ACC.4+AC1 >9 or C=1
(ACC.3~ACC.0), AC1=0
then [m].7~[m].4
ACC.7~ACC.4+6+AC1,C=1
else [m].7~[m].4
ACC.7~ACC.4+AC1,C=C
Affected flag(s)
TC2
TC1
TO
PD
OV
Z
AC
C
DEC [m]
Decrement data memory
Description
Data in the specified data memory is decremented by 1.
Operation
[m]
[m] 1
Affected flag(s)
TC2
TC1
TO
PD
OV
Z
AC
C
DECA [m]
Decrement data memory and place result in the accumulator
Description
Data in the specified data memory is decremented by 1, leaving the result in the accumulator.
The contents of the data memory remain unchanged.
Operation
ACC
[m] 1
Affected flag(s)
TC2
TC1
TO
PD
OV
Z
AC
C
HT46R22/HT46C22
Rev. 1.10
32
October 2, 2002