Интернет магазин китайских планшетных компьютеров



Компьютеры - Стековый кадр

22 января 2011


Оглавление:
1. Стековый кадр
2. Соглашения для разных языков программирования



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

Технология

Типичный случай использования стека языком высокого уровня на примере вызова процедуры с аргументами «A, B, C» в сравнении с языком ассемблера

Обычно системный стек используется для сохранения адресов возврата при вызове подпрограмм, а также сохранения/восстановления значений регистров процессора.

Передача аргументов

При вызове процедуры аргументы отправляются в стек, и только потом производится вызов подпрограммы. Таким образом, процедура получает стек, на вершине которого лежит адрес возврата, а под ним — аргументы, с которыми она была вызвана.

При возвращении из процедуры аргументы должны быть сняты со стека.

Выделение временной памяти

Если указатель стека сместить «выше», то часть памяти в стеке окажется незадействованной и может использоваться процедурой по своему усмотрению, вплоть до момента возврата в вызвавшую её процедуру. Таким образом, языки высокого уровня организуют переменные, существующие только внутри процедуры.

Перед возвратом процедура должна вернуть указатель стека в оригинальное положение.



Просмотров: 2346


<<< Хранимая процедура
Шитый код >>>