ST7FMC1K2B3 STMICROELECTRONICS [STMicroelectronics], ST7FMC1K2B3 Datasheet - Page 27

no-image

ST7FMC1K2B3

Manufacturer Part Number
ST7FMC1K2B3
Description
Manufacturer
STMICROELECTRONICS [STMicroelectronics]
Datasheet
CENTRAL PROCESSING UNIT (Cont’d)
Stack Pointer (SP)
Read/Write
Reset Value: 01 FFh
The Stack Pointer is a 16-bit register which is al-
ways pointing to the next free location in the stack.
It is then decremented after data has been pushed
onto the stack and incremented before data is
popped from the stack (see
Since the stack is 256 bytes deep, the 8 most sig-
nificant bits are forced by hardware. Following an
MCU Reset, or after a Reset Stack Pointer instruc-
tion (RSP), the Stack Pointer contains its reset val-
ue (the SP7 to SP0 bits are set) which is the stack
higher address.
Figure 12. Stack Manipulation Example
@ 0100h
@ 01FFh
SP7
15
0
7
SP
SP6
0
Subroutine
Stack Higher Address = 01FFh
Stack Lower Address = 0100h
CALL
PCH
PCL
SP5
0
SP
SP4
0
SP3
Interrupt
0
Event
Figure
PCH
PCH
PCL
PCL
CC
A
X
SP2
0
12).
SP
SP1
0
PUSH Y
SP0
PCH
PCH
PCL
PCL
8
1
0
CC
Y
A
X
SP
The least significant byte of the Stack Pointer
(called S) can be directly accessed by a LD in-
struction.
Note: When the lower limit is exceeded, the Stack
Pointer wraps around to the stack upper limit, with-
out indicating the stack overflow. The previously
stored information is then overwritten and there-
fore lost. The stack also wraps in case of an under-
flow.
The stack is used to save the return address dur-
ing a subroutine call and the CPU context during
an interrupt. The user may also directly manipulate
the stack by means of the PUSH and POP instruc-
tions. In the case of an interrupt, the PCL is stored
at the first location pointed to by the SP. Then the
other registers are stored in the next locations as
shown in
– When an interrupt is received, the SP is decre-
– On return from interrupt, the SP is incremented
A subroutine call occupies two locations and an in-
terrupt five locations in the stack area.
mented and the context is pushed on the stack.
and the context is popped from the stack.
POP Y
PCH
PCH
PCL
PCL
CC
Figure
A
X
SP
12.
ST7MC1xx/ST7MC2xx
IRET
PCH
PCL
SP
or RSP
RET
27/309
1

Related parts for ST7FMC1K2B3