Здравствуйте, ДимДимыч, Вы писали:
ДД>Здравствуйте, Pavel Dvorkin, Вы писали:
PD>>См. архитектуру IBM/360-370. В ней аппаратного стека вообще.
ДД>Чем в данном случае "аппаратный" стек отличается от "программного"? Только тем, что в первом случае на вершину указывает отдельный регистр, во втором — обычная переменная.
Я не помню, как там выделялась память (а скорее даже не знаю, так как работал на Фортране, а в нем тогда не было динамического выделения памяти в каком бы то ни было виде). Что я помню — что для выделения памяти использовалась специальная макрокоманда GETMAIN, но вот применялась ли она для выделения только динамической в нынешнем понимании или также и автоматической в нынешнем понимании памяти — сказать не берусь, и тем более утверждать, что для этого использовалась именно фиксированная переменная.
А отличия, конечно, есть. При занесении в стек ESP меняется автоматически, а насчет переменной на это надеяться не приходится. Хотя, конечно, эмулировать аппаратный стек программно можно.