Runtime stack: array of consecutive memory locations
Managed by the processor using two registers
Stack Segment register SS
Not modified in protected mode, SS points to segment descriptor
Stack Pointer register ESP
For 16-bit real-address mode programs, SP register is used
ESP register points to the top of stack
Always points to last data item placed on the stack
Only words and doublewords can be pushed and popped
But not single bytes
Stack grows downward toward lower memory addresses