Stos jest obszarem pamięci, w którym przechowuje się np. adresy powrotu i zmienne lokalne.
Stos obsługuje się na zasadzie LIFO - Last In, First Out.
Adres do wierzchu stosu przechowywany jest w rejestrze zwanym zwykle SP - Stack Pointer.
Wskaźnik stosu może rosnąć lub maleć. W x86-64 lub x86 maleje - szczyt stosu jest ustawiany na końcowe miejsce w pamięci, i następne elementy są kładzione na spód. W 8051 natomiast jest inaczej - wskaźnik stosu jest ustawiony na w miarę wczesne miejsce w pamięci, i elementy są kładzione na wierzch.