Wiem, że w architekturach, które osobiście znam (x86, 6502 itd.), Stos zwykle rośnie w dół (tj. Każdy element umieszczany na stosie skutkuje zmniejszeniem SP, a nie zwiększeniem).
Zastanawiam się, jakie jest historyczne uzasadnienie tego. Wiem, że w ujednoliconej przestrzeni adresowej wygodnie jest rozpocząć stos na przeciwległym końcu segmentu danych (powiedzmy), więc problem występuje tylko wtedy, gdy dwie strony zderzają się w środku. Ale dlaczego stos tradycyjnie otrzymuje górną część? Zwłaszcza biorąc pod uwagę, że jest to przeciwieństwo modelu „koncepcyjnego”?
(Zauważ, że w architekturze 6502 stos rośnie również w dół, mimo że jest ograniczony do pojedynczej strony 256-bajtowej, a ten wybór kierunku wydaje się arbitralny).