HT82A850R
Rev. 1.10
9
July 25, 2007
Indirect Addressing Register
Locations 00H and 02H are the indirect addressing reg-
isters, however they are not physically implemented.
Any read/write operation to [00H] or [02H] will access
the data memory pointed to by MP0 and MP1. Reading
location 00H or 02H indirectly will return a result of 00H.
Writing indirectly results in no operation.
Data transfer between two indirect addressing registers
is not supported. The memory pointer registers, MP0
and MP1, are 8-bit registers which are used to access
the Data Memory in combination with indirect address-
ing registers.
Bank Pointer
The bank pointer is used to select the required Data
Memory bank. If Data Memory bank 0 is to be selected,
then a 0 should be loaded into the BP register. Data
Memory locations before 40H in any bank are over-
lapped.
Accumulator
The accumulator is closely related to ALU operations. It
is also mapped to location 05H of the data memory and
can carry out immediate data operations. The data
movement between two data memory locations must
pass through the accumulator.
Arithmetic and Logic Unit
ALU
This circuit performs 8-bit arithmetic and logic opera-
tions. 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 and Decrement - INC, DEC
Branch decision - SZ, SNZ, SIZ, SDZ ....
The ALU not only saves the results of a data operation
but also changes the status register.
Status Register
STATUS
This 8-bit register contains the zero flag (Z), carry flag
(C), auxiliary carry flag (AC), overflow flag (OV), power
down flag (PDF), and watchdog time-out flag (TO). It
also records the status information and controls the op-
eration sequence.
With the exception of the TO and PDF flags, bits in the
status register can be altered by instructions like most
other registers. Any data written into the status register
will not change the TO or PDF flag. In addition, opera-
tions related to the status register may give different re-
sults from those intended.
The TO flag can be affected only by a system power-up,
a WDT time-out or executing the CLR WDT or HALT
instruction. The PDF flag can be affected only by exe-
cuting the HALT or CLR WDT instruction or during a
system power-up.
The Z, OV, AC and C flags generally reflect the status of
the latest operations.
In addition, upon 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
the status are important and if the subroutine can cor-
rupt the status register, precautions must be taken to
save it properly.
Interrupt
The device provides an internal timer/event counter in-
terrupt, play/record data valid interrupt and a serial inter-
face interrupt. The Interrupt Control Register0, INTC0,
and the interrupt control register1, INTC1:1EH, both
contain the interrupt control bits that are used to set the
enable/disable status and interrupt request flags.
Once an interrupt subroutine is serviced, other inter-
rupts are all blocked, as the EMI bit is cleared automati-
cally,preventingfurtherinterruptnesting.Otherinterrupt
Bit No.
Label
Function
0
C
C is set if an operation results in a carry during an addition operation or if a borrow does not
takeplaceduringasubtractionoperation;otherwiseCiscleared.Cisalsoaffectedbyarotate
through carry instruction.
1
AC
AC is set if an operation results in a carry out of the low nibbles in addition or no borrow from
the high nibble into the low nibble in subtraction; otherwise AC is cleared.
2
Z
Z is set if the result of an arithmetic or logic operation is zero; otherwise Z is cleared.
3
OV
OV is set if an operation results in a carry into the highest-order bit but not a carry out of the
highest-order bit, or vice versa; otherwise OV is cleared.
4
PDF
PDF is cleared by a system power-up or executing the CLR WDT instruction. PDF is set by
executing the HALT instruction.
5
TO
TO is cleared by a system power-up or executing the CLR WDT or HALT instruction. TO is
set by a WDT time-out.
6~7
Unused bit, read as 0
Status (0AH) Register