Rev. 1.60 222 August 20, 2019 Rev. 1.60 223 August 20, 2019
BS66F340/BS66F350/BS66F360/BS66F370
Touch A/D Flash MCU with LED Driver
BS66F340/BS66F350/BS66F360/BS66F370
Touch A/D Flash MCU with LED Driver
CALL addr
Subroutine call
Description Unconditionally calls a subroutine at the specied address. The Program Counter then
increments by 1 to obtain the address of the next instruction which is then pushed onto the
stack. The specied address is then loaded and the program continues execution from this
new address. As this instruction requires an additional operation, it is a two cycle instruction.
Operation Stack ← Program Counter + 1
Program Counter ← addr
Affected ag(s) None
CLR [m]
Clear Data Memory
Description Each bit of the specied Data Memory is cleared to 0.
Operation [m] ← 00H
Affected ag(s) None
CLR [m].i
Clear bit of Data Memory
Description Bit i of the specied Data Memory is cleared to 0.
Operation [m].i ← 0
Affected ag(s) None
CLR WDT
Clear Watchdog Timer
Description The TO, PDF ags and the WDT are all cleared.
Operation WDT cleared
TO ← 0
PDF ← 0
Affected ag(s) TO, PDF
CPL [m]
Complement Data Memory
Description Each bit of the specied Data Memory is logically complemented (1′s complement). Bits which
previously contained a 1 are changed to 0 and vice versa.
Operation [m] ← [m]
Affected ag(s) Z
CPLA [m]
Complement Data Memory with result in ACC
Description Each bit of the specied 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 ag(s) Z
DAA [m]
Decimal-Adjust ACC for addition with result in Data Memory
Description Convert the contents of the Accumulator value to a BCD (Binary Coded Decimal) value
resulting from the previous addition of two BCD variables. If the low nibble is greater than 9
or if AC ag is set, then a value of 6 will be added to the low nibble. Otherwise the low nibble
remains unchanged. If the high nibble is greater than 9 or if the C ag is set, then a value of 6
will be added to the high nibble. Essentially, the decimal conversion is performed by adding
00H, 06H, 60H or 66H depending on the Accumulator and ag conditions. Only the C ag
may be affected by this instruction which indicates that if the original BCD sum is greater than
100, it allows multiple precision decimal addition.
Operation [m] ← ACC + 00H or
[m] ← ACC + 06H or
[m] ← ACC + 60H or
[m] ← ACC + 66H
Affected ag(s) C