![](http://datasheet.mmic.net.cn/370000/UPD17134ACT-xxx_datasheet_16740627/UPD17134ACT-xxx_107.png)
CHAPTER 11 ARITHMETIC AND LOGIC UNIT (ALU)
88
11.2.2 Functions of Temporary Registers A and B
Temporary registers A and B are needed for processing of 4-bit data at a time. These registers are used for
temporary storage of the first and second data operands of an instruction.
11.2.3 Functions of the Status Flip-flop
The status flip-flop is used for controlling operation of the ALU and for storing data which has been processed. Each
flag in the status flip-flop corresponds directly to a flag in the program status word (PSWORD) located in the system
register. This means that when a flag in the system register is manipulated it is the same as manipulating a flag in
the status flip-flop. Each flag in the program status word is described below.
(1) Z flag
This flag is set (1) when the result of an arithmetic operation is 0000B, otherwise it is reset (0). However, depending
on the status of the CMP flag, the conditions which cause this flag to be set (1) can be changed.
(i)
When CMP = 0
Z flag is set (1) when the result of an arithmetic operation is 0000B, otherwise it is reset (0).
(ii) When CMP = 1
The previous state is maintained when the result of an arithmetic operation is 0000B, otherwise it is reset
(0). Only affected by arithmetic operations.
(2) CY flag
This flag is set (1) when a carry or borrow is generated as a result of an arithmetic operation, otherwise it is reset
(0).
When an arithmetic operation is being performed using a carry or borrow, the operation is performed using the
CY flag as the least significant bit.
When a rotation (RORC instruction) is performed, the contents of the CY flag becomes the most significant bit
(b
3
) of the general register and the least significant bit of the general register is stored in the CY flag.
Only affected by arithmetic operations and rotations.
(3) CMP flag
When the CMP flag is set (1), the result of an arithmetic operation is not stored in either the general register or
data memory.
When the bit evaluation instruction is performed, the CMP flag is reset (0).
The CMP flag does not affect comparison judgements, logical operations, or rotations.
(4) BCD flag
When the BCD flag is set (1), decimal correction is performed for all arithmetic operations. When the flag is reset
(0), 4-bit binary operation is performed.
The BCD flag does not affect logical operations, bit judgements, comparison judgements, or rotations.
These flags can also be set through direct manipulation of the values in the program status word. At this time,
the corresponding flag in the status flip-flop is also manipulated.