HT46RU67/HT46CU67
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
I
I
n
n
d
d
i
i
r
r
e
e
c
c
t
t
A
A
d
d
d
d
r
r
e
e
s
s
s
s
i
i
n
n
g
g
Indirect Addressing Register
M
M
P
P
0
1
Location 00H and 02H are indirect addressing registers
that are not physically implemented. Any read/write op-
eration of [00H] and [02H] accesses the Data Memory
pointed to by MP0 and MP1 respectively. Reading loca-
tion 00H or 02H indirectly returns the result 00H. Writing
to it indirectly results to no operation.
B
P
A
C
C
P
C
L
T
B
L
P
T
B
L
H
The function of data movement between two indirect ad-
dressing registers is not supported. The memory pointer
registers, MP0 and MP1, are both 8-bit registers used to
access the Data Memory in combination with their corre-
sponding indirect addressing registers. MP0 can only be
used to access data from Bank 0, while MP1 can be
used to access data from all banks.
R
T
C
C
0
0
A
B
H
H
H
H
H
S
T
A
T
U
S
I
N
T
C
0
0
0
C
D
T
M
H
R
0
T
M
R
0
L
0
E
T
T
M
M
R
R
0
1
C
H
0
F
F
F
H
H
H
H
H
H
H
H
H
H
H
1
1
1
1
1
1
1
1
1
1
0
1
2
3
4
5
6
7
8
9
T
M
R
1
L
Accumulator - ACC
T
M
R
1
C
P
P
A
B
The accumulator, ACC, is related to the ALU operations.
It is also mapped to location 05H of the Data Memory,
and is capable of operating with immediate data. The
data movement between two data memory locations
must pass through the ACC.
P
P
A
B
C
C
P
P
C
D
P
P
C
D
C
C
Arithmetic and Logic Unit - ALU
S
p
e
c
i
a
l
This circuit performs 8-bit arithmetic and logic opera-
tions and provides the following functions:
1
1
A
B
H
H
H
H
H
P
P
P
P
W
W
W
W
M
M
M
M
0
1
2
3
D
a
t
a
M
e
1
1
C
D
·
Arithmetic operations (ADD, ADC, SUB, SBC, DAA)
·
Logic operations (AND, OR, XOR, CPL)
1
E
I
N
T
C
1
·
Rotation (RL, RR, RLC, RRC)
1
H
H
T
B
H
P
·
Increment and Decrement (INC, DEC)
2
2
2
2
2
2
2
2
2
2
0
1
2
3
4
5
6
7
8
9
·
Branch decision (SZ, SNZ, SIZ, SDZ, etc.)
H
The ALU not only saves the results of a data operation
but also changes the status register.
H
H
H
H
H
H
H
H
A
D
R
L
Status Register - STATUS
A
A
D
D
R
C
H
R
The status register (0AH) is 8 bits wide and contains, a
carry flag (C), an auxiliary carry flag (AC), a zero flag (Z),
an overflow flag (OV), a power down flag (PDF), and a
watchdog time-out flag (TO). It also records the status
information and controls the operational sequence.
A
S
S
C
B
B
S
R
R
R
C
D
2
2
A
B
H
H
H
H
H
2
2
C
D
Except for the TO and PDF flags, bits in the status reg-
ister can be altered by instructions similar to the other
registers. Data written into the status register does not
alter the TO or PDF flags. Operations related to the sta-
tus register, however, may yield different results from
those intended. The TO and PDF flags can only be
changed by a Watchdog Timer overflow, device
power-up, or clearing the Watchdog Timer and execut-
ing the ²HALT² instruction. The Z, OV, AC, and C flags
reflect the status of the latest operations.
T
M
R
2
2
E
T
M
R
2
C
2
H
H
H
H
H
M
F
I
C
3
3
3
3
0
1
2
3
U
S
R
U
U
C
C
R
R
1
2
T
X
R
/
R
X
R
3
3
4
5
H
H
B
R
G
3
F
H
H
4
0
G
e
n
e
r
a
l
P
u
r
p
o
s
e
On entering the interrupt sequence or executing a sub-
routine call, the status register will not be automatically
pushed onto the stack. If the contents of the status is im-
portant, and if the subroutine is likely to corrupt the sta-
tus register, the programmer should take precautions to
save it properly.
D
a
t
a
M
e
m
o
r
y
:
U
n
u
s
1
9
2
´
B
y
4
t
e
s
(
4
B
a
n
k
s
:
B
a
n
k
0
,
B
a
s
R
e
a
d
a
B
a
n
k
3
,
B
a
n
k
4
)
F
F
H
RAM Mapping
Rev. 1.10
11
May 27, 2010