English
Language : 

HT66F24D Datasheet, PDF (19/177 Pages) Holtek Semiconductor Inc – A/D Flash Type 8-bit MCU with EEPROM
A/D Flash Type 8-bit MCU with EEPROM
HT66F24D/HT66F25D
1
M O V A ,[1 2 H ]
2
C A LL D E LA Y
3
C P L [1 2 H ]
4
:
5
:
6 D E LA Y : N O P
F e tc h In s t. 1
E x e c u te In s t. 1
F e tc h In s t. 2
E x e c u te In s t. 2
F e tc h In s t. 3
F lu s h P ip e lin e
F e tc h In s t. 6
E x e c u te In s t. 6
F e tc h In s t. 7
Instruction Fetching
For instructions involving branches, such as jump or call instructions, two machine cycles are
required to complete instruction execution. An extra cycle is required as the program takes one
cycle to first obtain the actual jump or call address and then another cycle to actually execute the
branch. The requirement for this extra cycle should be taken into account by programmers in timing
sensitive applications.
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
HT66F24D
HT66F25D
Program Counter
High Byte
Low Byte (PCL Register)
PC10~PC8
PCL7~PCL0
PC11~PC8
PCL7~PCL0
Program Counter
The lower byte of the Program Counter, known as the Program Counter Lowregister 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.
Rev. 1.00
19
July 26, 2012