HT82A520R HOLTEK [Holtek Semiconductor Inc], HT82A520R Datasheet - Page 13

no-image

HT82A520R

Manufacturer Part Number
HT82A520R
Description
Full Speed USB 8-Bit OTP MCU with SPI
Manufacturer
HOLTEK [Holtek Semiconductor Inc]
Datasheet
Special Purpose Data Memory
This area of Data Memory is where registers, necessary
for the correct operation of the microcontroller, are
stored. Most of the registers are both readable and
writable but some are protected and are readable only,
the details of which are located under the relevant Spe-
cial Function Register section. Note that for locations
that are unused, any read instruction to these addresses
will return the value 00H .
Special Function Registers
To ensure successful operation of the microcontroller,
certain internal registers are implemented in the Data
Memory area. These registers ensure correct operation
of internal functions such as timers, interrupts, etc., as
well as external functions such as I/O data control. The
location of these registers within the Data Memory be-
gins at the address 00H. Any unused Data Memory lo-
cations between these special function registers and the
point where the General Purpose Memory begins is re-
served and attempting to read data from these locations
will return a value of 00H.
Indirect Addressing Register - IAR0, IAR1
The IAR0 and IAR1 register, although having their loca-
tions in normal RAM register space, do not actually
data .section
adres1
adres2
adres3
adres4
block
code .section at 0 code
org
start:
loop:
continue:
The important point to note here is that in the example shown above, no reference is made to specific Data Memory ad-
dresses.
Rev.1.00
mov a,04h
mov block,a
mov a,offset adres1; Accumulator loaded with first RAM address
mov mp0,a
clr IAR0
inc mp0
sdz block
jmp loop
00h
db ?
db ?
db ?
db ?
db ?
data
; setup size of block
; setup memory pointer with first RAM address
; check if last memory location has been cleared
; clear the data at address defined by MP0
; increment memory pointer
13
physically exist as normal registers. The method of indi-
rect addressing for RAM data manipulation uses these
Indirect Addressing Registers and Memory Pointers, in
contrast to direct memory addressing, where the actual
memory address is specified. Actions on the IAR0 and
IAR1 registers will result in no actual read or write opera-
tion to these registers but rather to the memory location
specified by their corresponding Memory Pointer, MP0
or MP1. Acting as a pair, IAR0 and MP0 can together
only access data from Bank 0, while the IAR1 and MP1
register pair can access data from both Bank 0 and
Bank 1. As the Indirect Addressing Registers are not
physically implemented, reading the Indirect Ad-
dressing Registers indirectly will return a result of 00H
and writing to the registers indirectly will result in no op-
eration.
Memory Pointer - MP0, MP1
For all devices, two Memory Pointers, known as MP0
and MP1 are provided. These Memory Pointers are
physically implemented in the Data Memory and can be
manipulated in the same way as normal registers pro-
viding a convenient way with which to address and track
data. When any operation to the relevant Indirect Ad-
dressing Registers is carried out, the actual address that
the microcontroller is directed to, is the address speci-
fied by the related Memory Pointer.
HT82A520R/HT82A620R
October 23, 2009

Related parts for HT82A520R