English
Language : 

MC68HC705JJ7 Datasheet, PDF (31/164 Pages) Freescale Semiconductor, Inc – Microcontrollers
Condition Code Register
3.6 Condition Code Register
The condition code register is an 8-bit register whose three most significant bits are permanently fixed at
111 as shown in Figure 3-6. The condition code register contains the interrupt mask and four flags that
indicate the results of the instruction just executed. The following paragraphs describe the functions of the
condition code register.
Bit 7
6
5
4
3
2
1
Bit 0
Read:
1
1
1
H
I
N
C
Z
Write:
Reset:
1
1
1
U
1
U
U
U
U = Unaffected
Figure 3-6. Condition Code Register (CCR)
Half-Carry Flag (H)
The CPU sets the half-carry flag when a carry occurs between bits 3 and 4 of the accumulator during
an ADD or ADC operation. The half-carry flag is required for binary coded decimal (BCD) arithmetic
operations. Reset has no effect on the half-carry flag.
Interrupt Mask (I)
Setting the interrupt mask disables interrupts. If an interrupt request occurs while the interrupt mask is
a logic 0, the CPU saves the CPU registers on the stack, sets the interrupt mask, and then fetches the
interrupt vector. If an interrupt request occurs while the interrupt mask is set, the interrupt request is
latched. The CPU processes the latched interrupt as soon as the interrupt mask is cleared again.
A return-from-interrupt (RTI) instruction pulls the CPU registers from the stack, restoring the interrupt
mask to its cleared state. After a reset, the interrupt mask is set and can be cleared only by a CLI
instruction.
Negative Flag (N)
The CPU sets the negative flag when an arithmetic operation, logical operation, or data manipulation
produces a negative result. Reset has no affect on the negative flag.
Zero Flag (Z)
The CPU sets the zero flag when an arithmetic operation, logical operation, or data manipulation
produces a result of $00. Reset has no affect on the zero flag.
Carry/Borrow Flag (C)
The CPU sets the carry/borrow flag when an addition operation produces a carry out of bit 7 of the
accumulator or when a subtraction operation requires a borrow. Some logical operations and data
manipulation instructions also clear or set the carry/borrow flag. Reset has no effect on the
carry/borrow flag.
3.7 Arithmetic/Logic Unit (ALU)
The ALU performs the arithmetic and logical operations defined by the instruction set. The binary
arithmetic circuits decode instructions and set up the ALU for the selected operation. Most binary
arithmetic is based on the addition algorithm, carrying out subtraction as negative addition. Multiplication
is not performed as a discrete operation but as a chain of addition and shift operations within the ALU.
The multiply instruction (MUL) requires 11 internal clock cycles to complete this chain of operations.
MC68HC705JJ7 • MC68HC705JP7 Advance Information Data Sheet, Rev. 4.1
Freescale Semiconductor
31