HT46R46/C46/R47/C47/R48/R49
H
T
4
6
R
4
6
H
T
4
6
R
4
7
H
T
4
6
R
4
8
H
T
4
6
R
4
9
0
0
0
0
0
0
0
0
0
0
0
1
2
3
4
5
6
7
8
9
H
H
H
H
H
H
H
H
H
H
H
H
I
A
R
I
A
R
I
A
R
I
A
R
M
P
M
P
M
P
M
P
A
C
C
A
C
C
A
C
C
A
C
C
P
C
L
P
C
L
P
C
L
P
C
L
T
B
L
P
T
B
L
P
T
B
L
P
T
B
L
P
T
B
L
H
T
B
L
H
T
B
L
H
T
B
L
H
U
S
S
T
A
T
U
S
S
T
A
T
U
S
S
T
A
T
U
S
0
0
A
B
S
T
A
T
I
N
T
C
I
N
T
C
I
N
T
C
I
N
T
C
0
0
C
D
H
T
M
R
T
M
R
T
M
R
T
M
R
H
0
E
H
H
H
H
H
H
H
H
H
H
H
H
H
H
T
M
R
C
T
M
R
C
T
M
R
C
T
M
R
C
0
F
1
1
1
1
1
1
1
1
1
1
0
1
2
3
4
5
6
7
8
9
P
A
P
A
P
A
P
P
A
B
P
A
C
P
A
C
P
A
C
P
P
A
B
C
C
P
B
P
B
P
B
P
B
C
P
B
C
P
B
C
P
C
P
P
C
D
P
C
C
P
P
C
D
C
C
P
D
P
D
P
D
P
D
C
P
D
C
P
D
C
M
0
1
1
A
B
P
W
M
P
W
M
P
W
M
P
W
W
P
M
1
1
1
C
D
H
H
1
E
H
H
H
H
H
H
1
F
A
D
R
L
A
D
R
L
A
D
R
L
2
2
2
2
0
1
2
3
A
D
R
A
D
R
C
H
A
D
D
R
C
H
A
D
D
R
C
H
A
D
C
R
A
D
R
A
R
A
R
A
C
S
R
A
C
S
R
A
C
S
R
A
C
S
R
:
U
n
u
s
e
d
,
r
e
a
d
a
s
"
0
0
"
Special Purpose Data Memory
The following example shows how to clear a section of four RAM locations already defined as locations adres1 to
adres4.
data .section ¢data¢
adres1
adres2
adres3
adres4
block
db ?
db ?
db ?
db ?
db ?
code .section at 0 ¢code¢
org 00h
start:
mov a,04h
; setup size of block
mov block,a
mov a,offset adres1
mov mp,a
; Accumulator loaded with first RAM address
; setup memory pointer with first RAM address
loop:
clr IAR
inc mp
sdz block
jmp loop
; clear the data at address defined by MP
; increment memory pointer
; check if last memory location has been cleared
continue:
The important point to note here is that in the example shown above, no reference is made to specific RAM addresses.
Rev. 1.00
14
April 18, 2007