English
Language : 

MC68HC05L16 Datasheet, PDF (37/146 Pages) Freescale Semiconductor, Inc – Microcontrollers
Stack Pointer
3.6 Stack Pointer
The stack pointer (SP) contains the address of the next free location on the stack. During an MCU reset
or the reset stack pointer (RSP) instruction, the stack pointer is set to location $00FF. The stack pointer
is then decremented as data is pushed onto the stack and incremented as data is pulled from the stack.
When accessing memory, the 10 most significant bits are permanently set to 0000000011. These eight 0
bits are appended to the six least significant register bits to produce an address within the range of $00FF
to $00C0. Subroutines and interrupts may use up to 64 (decimal) locations. If 64 locations are exceeded,
the stack pointer wraps around and looses the previously stored information. A subroutine call occupies
two locations on the stack; an interrupt uses five locations.
15
7
0000000011
0
SP
3.7 Program Counter
The program counter (PC) is a 16-bit register that contains the address of the next byte to be fetched.
15
0
PC
3.8 Arithmetic/Logic Unit
The arithmetic/logic unit (ALU) performs the arithmetic and logical operations defined by the instruction
set.
The binary arithmetic circuits decode instructions and set up the ALU for the selected operation. Most
binary arithmetic is based on the addition algorithm, carrying out subtraction as negative addition.
Multiplication is not performed as a discrete operation but as a chain of addition and shift operations within
the ALU. The multiply instruction (MUL) requires 11 internal processor cycles to complete this chain of
operations.
MC68HC05L16 • MC68HC705L16 Data Sheet, Rev. 4.1
Freescale Semiconductor
37