Программирование на JAVA

Так как память адресуется побайтово и слово имеет длину 32 разряда (4 байта), операцию проталкивания в стек можно реализовать так:

SUB             ESP,4

MOV             NEWITEM,(ESP)

где команда SUB вычитает операнд 4 из результирующего операн­да, содержащегося в регистре ESP, и помещает результат в регистр ESP. Эти две ко­манды помещают слово, хранящееся по адресу NEWITEM, на вершину стека, предварительно уменьшая указатель стека (адрес вершины) на одно слово равное 4 байтам. Операция выталкивания из стека может быть реализована так:

                                      MOV              ITEM,(ESP)

                                      ADD               ESP,4

Эти две команды перемещают значение, хранившееся на вершине стека, в дру­гое место памяти, по адресу ITEM, а затем уменьшают указатель стека на 4, чтобы он указывал на тот элемент, который теперь располагается на вершине стека.


Рис. 6.6. Стек слов в памяти

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


<< назад вперед >>