Autosave: 2024-04-20 13:00:05
This commit is contained in:
parent
8ed39d3178
commit
75aa6785fa
3 changed files with 6 additions and 5 deletions
BIN
.zk/notebook.db
BIN
.zk/notebook.db
Binary file not shown.
|
@ -12,18 +12,19 @@ of programs.
|
||||||
|
|
||||||
## Stack memory
|
## Stack memory
|
||||||
|
|
||||||
Similarly to the [[Stacks|stacks]], it works on the basis of LIFO: the last item
|
Similarly to the [[Stacks|stack data structure]], it works on the basis of LIFO:
|
||||||
put on the stack is the first item to be withdrawn.
|
the last item put on the stack is the first item to be withdrawn.
|
||||||
|
|
||||||
Note, this doesn't mean that the data at the memory addresses that comprise the
|
Note, this doesn't mean that the data at the memory addresses that comprise the
|
||||||
stack can _only_ be accessed in a LIFO manner. Any item currently on the stack
|
stack can _only_ be accessed in a LIFO manner. Any item currently on the stack
|
||||||
can be accessed (be read or modified) at any time. LIFO applies when it is is
|
can be accessed (be read or modified) at any time. LIFO applies when it is is
|
||||||
time to clear memory from the stack: the most recent addition is cleared first.
|
time to clear memory from the stack: the most recent addition is cleared first
|
||||||
|
from the top down.
|
||||||
|
|
||||||
### Stack pointer
|
### Stack pointer
|
||||||
|
|
||||||
A **stack pointer** is used to manage the items in the stack. This value is
|
A **stack pointer** is used to manage the items in the stack. This value is
|
||||||
stored in a [[processor register]] and its value is the memory address of the
|
stored in a [[CPU_architecture#registers|register]] and its value is the memory
|
||||||
item currently on the top of the stack.
|
address of the item currently on the top of the stack.
|
||||||
|
|
||||||
## Related notes
|
## Related notes
|
||||||
|
|
Loading…
Add table
Reference in a new issue