DatasheetQ Logo
Electronic component search and free download site. Transistors,MosFET ,Diode,Integrated circuits

ST92F250CV2 View Datasheet(PDF) - STMicroelectronics

Part Name
Description
Manufacturer
ST92F250CV2 Datasheet PDF : 524 Pages
First Prev 61 62 63 64 65 66 67 68 69 70 Next Last
ST92F124xx/ST92F150Cxx/ST92F150JDV1/ST92F250CV2
Device architecture
Note:
themselves automatically changed by the push or pop instruction, thus corrupting their
value.
System Stack
The System Stack is used for the temporary storage of system and/or control data, such as
the Flag register and the Program counter.
The following automatically push data onto the System Stack:
Interrupts
When entering an interrupt, the PC and the Flag Register are pushed onto the System
Stack. If the ENCSR bit in the EMR2 register is set, then the Code Segment Register is
also pushed onto the System Stack.
Subroutine Calls
When a call instruction is executed, only the PC is pushed onto stack, whereas when
a calls instruction (call segment) is executed, both the PC and the Code Segment
Register are pushed onto the System Stack.
Link Instruction
The link or linku instructions create a C language stack frame of user-defined
length in the System or User Stack.
All of the above conditions are associated with their counterparts, such as return
instructions, which pop the stored data items off the stack.
1. User Stack
The User Stack provides a totally user-controlled stacking area.
The User Stack Pointer consists of two registers, R236 and R237, which are both used for
addressing a stack in memory. When stacking in the Register File, the User Stack Pointer
High Register, R236, becomes redundant but must be considered as reserved.
Stack Pointers
Both System and User stacks are pointed to by double-byte stack pointers. Stacks may be
set up in RAM or in the Register File. Only the lower byte will be required if the stack is in the
Register File. The upper byte must then be considered as reserved and must not be used as
a general purpose register.
The stack pointer registers are located in the System Group of the Register File, this is
illustrated in Table 8.
Stack Location
Care is necessary when managing stacks as there is no limit to stack sizes apart from the
bottom of any address space in which the stack is placed. Consequently programmers are
advised to use a stack pointer value as high as possible, particularly when using the
Register File as a stacking area.
Group D is a good location for a stack in the Register File, since it is the highest available
area. The stacks may be located anywhere in the first 14 groups of the Register File
(internal stacks) or in RAM (external stacks).
Stacks must not be located in the Paged Register Group or in the System Register Group.
Doc ID 8848 Rev 7
63/523

Share Link: 

datasheetq.com  [ Privacy Policy ]Request Datasheet ] [ Contact Us ]