HT56R66 Holtek Semiconductor Inc., HT56R66 Datasheet - Page 16

no-image

HT56R66

Manufacturer Part Number
HT56R66
Description
Tinypower Tm A/d Type With Lcd 8-bit Otp Mcu
Manufacturer
Holtek Semiconductor Inc.
Datasheet
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. It must be
noted that only the lower 8 bits, known as the Program
Counter Low Register, are directly addressable.
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 condi-
tional skip instructions, once the condition has been
met, the next instruction, which has already been
fetched during the present instruction execution, is dis-
carded and a dummy cycle takes its place while the cor-
rect instruction is obtained.
Note:
Rev. 1.10
Initial Reset
External Interrupt 0
External Interrupt 1
Timer/Event Counter 0 Overflow
Timer/Event Counter 1 Overflow
SPI/I
Multi-Function Interrupt
Skip
Loading PCL
Jump, Call Branch
Return from Subroutine
2
C Interrupt
PC13~PC8: Current Program Counter bits
#12~#0: Instruction code address bits
BP.5: Bank pointer bits
Mode
PC13 PC12 PC11 PC10 PC9 PC8 @7
BP.5
b13
S13
0
0
0
0
0
0
0
b12
S12
#12
0
0
0
0
0
0
0
S11
b11
#11
0
0
0
0
0
0
0
Program Counter
S10
b10
#10
0
0
0
0
0
0
0
16
S9
b9
#9
0
0
0
0
0
0
0
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 writable register.
By transferring data directly into this register, a short pro-
gram 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 loca-
tions. When such program jumps are executed it should
also be noted that a dummy cycle will be inserted.
The lower byte of the Program Counter is fully accessi-
ble under program control. Manipulating the PCL might
cause program branching, so an extra cycle is needed
to pre-fetch. Further information on the PCL register can
be found in the Special Function Register section.
@7~@0: PCL bits
S13~S0: Stack register bits
Program Counter Bits
Program Counter + 2
b8
#8
S8
0
0
0
0
0
0
0
b7
#7
S7
0
0
0
0
0
0
0
@6
b6
S6
#6
0
0
0
0
0
0
0
@5
b5
S5
#5
0
0
0
0
0
0
0
HT56R66/HT56R666
@4
S4
b4
#4
0
0
0
0
1
1
1
@3
S3
b3
#3
0
0
1
1
0
0
1
September 8, 2009
@2
b2
#2
S2
0
1
0
1
0
1
0
@1
b1
#1
S1
0
0
0
0
0
0
0
@0
b0
S0
#0
0
0
0
0
0
0
0

Related parts for HT56R66