So che nelle architetture che conosco personalmente (x86, 6502, ecc.), Lo stack cresce tipicamente verso il basso (cioè ogni elemento inserito nello stack risulta in un SP decrementato, non incrementato).
Mi chiedo quale sia la logica storica di questo. So che in uno spazio di indirizzi unificato, è conveniente avviare lo stack all'estremità opposta del segmento di dati (diciamo) quindi c'è solo un problema se i due lati si scontrano nel mezzo. Ma perché lo stack tradizionalmente ottiene la parte superiore? Soprattutto visto come questo sia l'opposto del modello "concettuale"?
(E si noti che nell'architettura 6502, lo stack cresce anche verso il basso, anche se è limitato a una singola pagina da 256 byte, e questa scelta di direzione sembra arbitraria.)