HT36A4
Rev. 1.00
8
July 2, 2003
Indirect Addressing Register
Location 00H and 02H are indirect addressing registers
that are not physically implemented. Any read/write op-
eration of [00H] and [02H] access data memory pointed
to by MP0 (01H) and MP1 (03H) respectively. Reading
location 00H or 02H directly will return the result 00H.
And writing directly results in no operation.
The function of data movement between two indirect ad-
dressing registers, is not supported. The memory
pointer registers, MP0 and MP1, are 8-bit register which
can be used to access the data memory by combining
corresponding indirect addressing registers.
Accumulator
The accumulator closely relates to ALU operations. It is
mapped to location 05H of the data memory and it can
operate with immediate data. The data movement be-
tween two data memory locations must pass through
the accumulator.
Arithmetic and Logic Unit
ALU
Thiscircuitperforms8-bitarithmeticandlogicoperation.
The ALU provides the following functions:
Arithmetic operations (ADD, ADC, SUB, SBC, DAA)
Logic operations (AND, OR, XOR, CPL)
Rotation (RL, RR, RLC, RRC)
Increment & Decrement (INC, DEC)
Branch decision (SZ, SNZ, SIZ, SDZ ....)
The ALU not only saves the results of a data operation but
can also change the status register.
Status Register
STATUS
This 8-bit register (0AH) contains the zero flag (Z), carry
flag (C), auxiliary carry flag (AC), overflow flag (OV),
power down flag (PD) and Watchdog time-out flag (TO).
It also records the status information and controls the oper-
ation sequence.
With the exception of the TO and PD flags, bits in the
status register can be altered by instructions like any
other register. Any data written into the status register
will not change the TO or PD flags. In addition it should
be noted that operations related to the status register
may give different results from those intended. The TO
and PD flags can only be changed by system power up,
Watchdog Timer overflow, executing the HALT instruc-
tion and clearing the Watchdog Timer.
The Z, OV, AC and C flags generally reflect the status of
the latest operations.
In addition, on entering the interrupt sequence or exe-
cuting a subroutine call, the status register will not be
automatically pushed onto the stack. If the contents of
status are important and the subroutine can corrupt the
status register, the programmer must take precautions
to save it properly.
0
+
9
"
'
+
!
B
2
2
2
2
% 2
$ 2
2
2
2
& 2
2
2
2
" 2
! 2
. 2
2
2
2
2
% 2
$ 2
2
2
2
& 2
2
2
2
" 2
! 2
. 2
2
2
2
2
% 2
$ 2
2
2
& 2
2
2
. 2
. . 2
@ +
-
+ +
+
+ C
C
5
0 +
< +
<
+
5
0 +
< +
<
+
=
'
=
'
= 2
D
" '
'
'
5 ( '
'
=
'
'
=
'
+
8 ;
+
0
+
9
"
'
+
!
B
)
+
1
,
.
/
0 1 +
8 ;
+
<
+ ; 1
.
/
0 1 +
8 ;
+ 9 > + ; 1
+
+
<
+ ; 1
+
+ 9 > + ; 1
+
8 ;
+
<
+ ; 1
+
8 ;
+ 9 > + ; 1
# 9
8 + 0 9
9 +
<
2
2
D
A
;
+ .
0
9
<
# 9
8 + 0 9
9 + 9 >
.
"
+
<
+ ; 1
"
+ 9 > + ; 1
"
+ 0 9
9
RAM mapping