April 2003
Intermediate to advanced
576 pages
15h 13m
English
Operating systems establish at least one stack in memory to support standard operations such as input and output. Most instruction sets and programming environments permit a programmer to establish other stacks in memory.
Many CISC architectures support auto-indexed addressing modes that make possible a very easy and fully general method for “pushing” and “popping” individual items onto and then off a stack. Items on a stack are accessed with a stack pointer (SP), which may be either purpose-built or a general register.
Two conventions exist for organizing a stack. In one, autoincrementing of the stack pointer is associated with pushing, and autodecrementing with popping. With ...