A stack is a data structure in which data items are arranged in order. Data items can only be inserted and deleted at one end [called the top of the stack]; in microcontroller applications, the stack is a special The main function of the storage area is to temporarily store data and addresses, and is usually used to protect breakpoints and scenes.
#The operating environment of this article: Windows 7 system, Dell G3 computer.
Stack is a specific storage area or register, one end of which is fixed and the other end is floating [1] . The data stored in the heap storage area is a special data structure. All data can be deposited or taken out only at one end of the float (called the top of the stack). Access is strictly in accordance with the principle of "first in, last out". The elements located in the middle must be in the upper part of the stack (those who enter the stack last). The elements can be removed only after they are removed one by one. Opening up an area in the internal memory (random access memory) as a stack is called a software stack; a stack composed of registers is called a hardware stack.
In microcontroller applications, the stack is a special storage area. The stack is part of the RAM space. The stack is used to save and restore on-site data during function calls and interrupt switching. The objects in the stack have a characteristic: the first object put into the stack is always taken out last. This characteristic is usually called FILO—First-In/Last-Out. There are a number of operations defined on the stack, the two most important being PUSH and POP. PUSH operation: Increase the stack pointer (SP) by 1, and then add an element to the top of the stack. The POP (pop) operation is the opposite. When popping out of the stack, the contents of the internal ram unit indicated by SP are first sent to the unit addressed by the direct address (destination location), and then the stack pointer (SP) is decremented by 1. These two operations implement the insertion and deletion of data items.
If you want to know more about programming learning, please pay attention to the php training column!
The above is the detailed content of How to understand what a stack is. For more information, please follow other related articles on the PHP Chinese website!