HT46R068B/HT46R069B
Enhanced A/D Type 8-bit OTP MCU
Stack
This is a special part of the memory which is used to save the contents of the Program Counter
only. The stack is neither part of the Data or Program Memory space, and is neither readable
nor writeable. The activated level is indexed by the Stack Pointer, SP, and is neither readable
nor writeable. At a subroutine call or interrupt acknowledge signal, the contents of the Program
Counter are pushed onto the stack. At the end of a subroutine or an interrupt routine, signaled by
a return instruction, RET or RETI, the Program Counter is restored to its previous value from the
stack. After a device reset, the Stack Pointer will point to the top of the stack.
P
o
r
g
a
r
m
C
o
u
e
n
r
t
T
p
o
o
f
S
t
c
a
k
S
a
t
c
L
k
e
e
v
l
1
S
a
t
c
L
k
e
e
v
l
2
S
a
t
k
c
P
o
r
g
a
r
m
S
a
t
c
L
k
e
e
v
l
3
P
i
o
t
n
r
e
M
m
e
r
o
y
B
t
o
t
m
o
o
f
S
t
c
a
k
S
a
t
c
L
k
e
e
v
l
8
Device
Stack Levels
HT4ꢄR0ꢄ8B
HT4ꢄR0ꢄ9B
8
If the stack is full and an enabled interrupt takes place, the interrupt request flag will be recorded
but the acknowledge signal will be inhibited. When the Stack Pointer is decremented, by RET or
RETI, the interrupt will be serviced. This feature prevents stack overflow allowing the programmer
to use the structure more easily. However, when the stack is full, a CALL subroutine instruction
can still be executed which will result in a stack overflow. Precautions should be taken to avoid
such cases which might cause unpredictable program branching.
Arithmetic and Logic Unit – ALU
The arithmetic-logic unit or ALU is a critical area of the microcontroller that carries out arithmetic
and logic operations of the instruction set. Connected to the main microcontroller data bus,
the ALU receives related instruction codes and performs the required arithmetic or logical
operations after which the result will be placed in the specified register. As these ALU calculation
or operations may result in carry, borrow or other status changes, the status register will be
correspondingly updated to reflect these changes. The ALU supports the following functions:
Arithmetic operations: ADD, ADDM, ADC, ADCM, SUB, SUBM, SBC, SBCM, DAA
Logic operations: AND, OR, XOR, ANDM, ORM, XORM, CPL, CPLA
Rotation RRA, RR, RRCA, RRC, RLA, RL, RLCA, RLC
●
●
●
●
●
Increment and Decrement INCA, INC, DECA, DEC
Branch decision, JMP, SZ, SZA, SNZ, SIZ, SDZ, SIZA, SDZA, CALL, RET, RETI
Rev. 1.00
13
�anꢀaꢁꢂ ꢃꢄꢅ ꢃ011