HT48C10-1
7
January 4, 2001
Functional Description
Execution flow
The system clock for the microcontroller is de-
rived from either a crystal or an RC oscillator.
The system clock is internally divided into four
non-overlapping clocks. One instruction cycle
consists of four system clock cycles.
Instruction fetching and execution are
pipelined in such a way that a fetch takes an in-
struction cycle while decoding and execution
takes the next instruction cycle. However, the
pipelining scheme causes each instruction to ef-
fectively execute in a cycle. If an instruction
changes the program counter, two cycles are re-
quired to complete the instruction.
Program counter
PC
The program counter (PC) controls the se-
quence in which the instructions stored in pro-
gram ROM are executed and its contents
specify full range of program memory.
After accessing a program memory word to fetch
an instruction code, the contents of the program
counter are incremented by one. The program
counter then points to the memory word contain-
ing the next instruction code.
When executing a jump instruction, conditional
skip execution, loading PCL register, subrou-
tine call, initial reset, internal interrupt, exter-
nal interrupt or return from subroutine, the PC
manipulates the program transfer by loading
the address corresponding to each instruction.
The conditional skip is activated by instruc-
tions. Once the condition is met, the next in-
struction, fetched during the current
instruction execution, is discarded and a
dummy cycle replaces it to get the proper in-
struction. Otherwise proceed with the next in-
struction.
The lower byte of the program counter (PCL) is
a readable and writable register (06H). Moving
data into the PCL performs a short jump. The
destination will be within 256 locations.
When a control transfer takes place, an addi-
tional dummy cycle is required.
Program memory
ROM
The program memory is used to store the pro-
gram instructions which are to be executed. It
also contains data, table, and interrupt entries,
and is organized into 1024 14 bits, addressed
by the program counter and table pointer.
Certain locations in the program memory are
reserved for special usage:
Location 000H
This area is reserved for program initializa-
tion. After chip reset, the program always be-
gins execution at location 000H.
Location 004H
This area is reserved for the external inter-
rupt service program. If the INT input pin is
activated, the interrupt is enabled and the
stackisnotfull,theprogrambeginsexecution
at location 004H.
9 $ / & 4
6
8
: $ & - / $6 ; 8
9 $ / & 4
6
< 8
: $ & - / $6 8
9 $ / & 4
6
< 8
: $ & - / $6 < 8
<
<
2 % / $ , ( * & =
6 . ( 2 8
Execution flow