Электронный учебник:


Курс лекций:


Дополнительно:

Практикум:



Наши хостеры:

Стековая организация памяти

1.     считает в N3 значение из стека;

2.     увеличит указатель на 2 (рис. г);

3.     аналогично прочитаем N2 и N1, после чего стек опустеет и вернется к начальному состоянию (рис. а.)

Примечание. Значение в стеке после считывания не исчезает. Но его там можно не увидеть. Дело в том, что процессор иногда временно использует стек для своих "внутренних" нужд. При этом некоторые ячейки, адреса которых меньше текущего указателя стека изменятся. Следовательно, во избежание неприятностей лучше всегда считать, что после считывания информации в стековой памяти она пропадает.

В командах работы со стеком адрес ОЗУ не фигурирует в явном виде. Но при этом предполагалось, что указатель стека уже установлен на свободную область ОЗУ. В противном случае, запись в стек может стереть нужную информацию. Ответственность за правильность значения указателя стека лежит на программном обеспечении.

Стек используется в вычислительной технике очень широко:

1.       На аппаратном уровне процессор запоминает в стеке текущее значение счетчика адреса команд при вызове подпрограммы.

2.       В стек предварительно заносятся необходимые для подпрограммы параметры (так реализуется вызов процедур и функций с параметрами в языке Паскаль).

3.       Стек используется для временного сохранения значений внутренних регистров процессора

4.       Процессор использует стек при реализации прерываний от внешних устройств.

Самая простая реализация стека - это массив и индекс последнего находящегося в стеке элемента. Этот индекс называется указателем стека (SP- Stack Pointer).Стек может расти как вверх, так и вниз.

предыдущаяследующая