
CHAPTER 7 SYSTEM REGISTER (SYSREG)
61
7.7.3 Index Enable Flag (IXE)
The IXE flag is used to specify index modification on the data memory address when a data memory manipulation
instruction is executed.
When the IXE flag is set to 1, an OR operation is performed on the data memory address and the index register
(IX), and executes an instruction to the data memory with the result of the OR operation as the real address.
For a more detailed explanation, see
7.5 INDEX REGISTER (IX) AND DATA MEMORY ROW ADDRESS POINTER
(MEMORY POINTER: MP)
.
7.7.4 Zero Flag (Z) and Compare Flag (CMP)
The Z flag indicates that the result of an arithmetic operation is 0. The CMP flag is used to specify that the result
of an arithmetic operation not be stored in data memory or the general register.
Table 7-3 shows how the CMP flag affects the setting and resetting of the Z flag.
Table 7-3. Zero Flag (Z) and Compare Flag (CMP)
Conditions
When CMP flag
When CMP flag is 1
When the result of an arithmetic operation is a value 0
Z
←
1
Z flag remains unchanged
When the result of an arithmetic operation is other than 0
Z
←
0
Z
←
0
The Z flag and the CMP flag are used for comparing values in the general register and data memory. The Z flag
is only affected by arithmetic operations. The CMP flag is only affected by bit evaluation.
Example of comparing 12-bit data
; Are 12-bit data stored in M001, M002, and M003 equal to 456H
CMP456:
SET2
SUB
SUB
SUB
; CLR1
SKT1
BR
BR
CMP, Z
M001, #4
M002, #5
M003, #6
CMP
Z
DIFFER
AGREE
; Data stored to M001, M002, and M003 are not lost
; CMP is automatically cleared by bit judgement instruction
;
≠
456 H
; = 456 H
7.7.5 Carry Flag (CY)
The CY flag shows that there is a carry in the result of an addition operation or a borrow in the result of a subtraction
operation.
The CY flag is set (CY = 1) when there is a carry or borrow in the result and reset (CY = 0) when there is no carry
or borrow in the result.
When the RORC r instruction (contents in the general register specified to by r is shifted right one bit) is executed,
the following occurs: the value in the CY flag just before execution of the instruction is shifted to the most significant
bit of the general register and the least significant bit is shifted to the CY flag.
The CY flag is also useful for when the user wants to skip the next instruction when there is a carry or borrow in
the result of an operation.
The CY flag is only affected by arithmetic operations and rotations and not affected by the CMP flag.