Everything about Stack register
Component of a computer's processor
A stack register, also known as a stack pointer, is a computer central processor register whose purpose is to keep track of a call stack. On an accumulator-based architecture machine, this may be a dedicated register. On a machine with multiple general-purpose registers, it may be a register that is reserved by convention, such as on the IBM System/360 through z/Architecture architecture and RISC architectures, or it may be a register that procedure call and return instructions are hardwired to use, such as on the PDP-11, VAX, and Intel x86 architectures. Some designs such as the Data General Eclipse had no dedicated register, but used a reserved hardware memory address for this function. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Stack registerA 5-minute orientation
- Pick up a classic book: Programming the M68000The most-reprinted book on the subject
- Read the landmark paper: Nondeterministic stack register machinesCited 7 times
- Go sideways: X86A closely related topic
- Go sideways: MicrocodeA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Nondeterministic stack register machines
Optimal register reassignment for register stack overflow minimization
A combined register-stack architecture
A dynamically allocated CMOS dual-LIFO register stack
Window Canaries: Re-Thinking Stack Canaries for Architectures With Register Windows
Register‐Based and Stack‐Based Virtual Machines: Which Perform Better in JIT Compilation Scenarios?
Stack and register complexity of radix conversions
Elevating Parallel Shadow Stack Concepts for Architectures With Register Windows
📚 Books worth reading
Programming the M68000Tim King · 1983
The 8080/Z-80 assembly languageAlan R. Miller · 1981- 📕An Introduction to ASM86Intel · 1981
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- X86 x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by…
- Microcode In computer architecture, microcode is a layer of low-level control data or instructions used to implement a processor's instruction set architecture or…
- Intel microcode Intel microcode is proprietary microcode designed by Intel to implement the x86 instruction set architecture and govern other behavior of x86 CPUs. On…
- NetBurst The NetBurst microarchitecture, called P68 inside Intel, was the successor to the P6 microarchitecture in the x86 family of central processing units (CPUs)…
- X86-64 x86-64 (also known as AMD64, x86_64, x64 and, rarely, Intel 64) is a 64-bit extension of the x86 instruction set. It was announced in 1999 and first available…
- Pentium (original) The Pentium is a 32-bit microprocessor introduced by Intel in 1993 as the fifth generation of the x86 processor family. It was the first processor to use…
- MMX (instruction set) MMX is a single instruction, multiple data (SIMD) instruction set architecture extension* designed by Intel, introduced on January 8, 1997 with its Pentium…
- P6 (microarchitecture) The P6 microarchitecture is the sixth-generation Intel x86 microarchitecture, first implemented in the Pentium Pro microprocessor in 1995. It was partially…