
Rev. 1.20
32
��to�e� 0�� 201�
Rev. 1.20
33
��to�e� 0�� 201�
HT69F30A/HT69F40A/HT69F50A
TinyPower
TM
I/O Flash 8-Bit MCU with LCD & EEPROM
HT69F30A/HT69F40A/HT69F50A
TinyPower
TM
I/O Flash 8-Bit MCU with LCD & EEPROM
System Clocking and Pipelining
Instruction Fetching
Program Counter
During program execution, the Program Counter is used to keep track of the address of the
next instruction to be executed. It is automatically incremented by one each time an instruction
is executed except for instructions, such as “JMP” or “CALL” that demand a jump to a
non-consecutive Program Memory address. Only the lower 8 bits, known as the Program Counter
Low Register, are directly addressable by the application program.
When executing instructions requiring jumps to non-consecutive addresses such as a jump instruction,
a subroutine call, interrupt or reset, etc., the microcontroller manages program control by loading
the required address into the Program Counter. For conditional skip instructions, once the condition
has been met, the next instruction, which has already been fetched during the present instruction
execution, is discarded and a dummy cycle takes its place while the correct instruction is obtained.
Device
Program Counter
Porgram Counter High Byte
Porgram Counter Low Byte
HT69F30A
PC10~PC�
PCL7~PCL0
HT69F40A
PC11~PC�
HT69F�0A
PC12~PC�
Program Counter
The lower byte of the Program Counter, known as the Program Counter Low register or PCL, is
available for program control and is a readable and writeable register. By transferring data directly
into this register, a short program jump can be executed directly, however, as only this low byte is
available for manipulation, the jumps are limited to the present page of memory, that is 256 locations.
When such program jumps are executed it should also be noted that a dummy cycle will be inserted.
Manipulating the PCL register may cause program branching, so an extra cycle is needed to pre-fetch.