Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Стек и чтения из него слов. Поэтому для записи байта в стек его





Надо предварительно расширить до слова, а запись или чтение двой-

Ных слов осуществляются парой команд.

В 180X86 принято заполнять стек снизу вверх, от больших адре-

сов к меньшим: первый элемент записывается в конец области, от-

Веденной под стек, второй элемент —в предыдущую ячейку области

И т. д. Считывается всегда элемент, записанный в стек последним.

В связи с этим нижняя граница стека всегда фиксирована, а верх-

Няя —меняется. Слово памяти, в котором находится элемент стека,

Записанный последним, является вершиной стека. Адрес вершины,

Отсчитанный от начала сегмента стека, должен находиться в указа-

Теле стека —регистре SP. Таким образом, абсолютный адрес верши-

ны стека определяется парой SS:SP.

Значение ≪О≫ в регистре SP свидетельствует о том, что стек

полностью заполнен (его вершина ≪дошла≫ до начала области сте-

Ка). Поэтому для контроля за переполнением стека надо перед

новой записью в стек проверять условие SP = 0 (сам 180X86 это-

Го не делает). Для пустого стека значение SP должно равняться

размеру стека, т. е. пара SS:SP должна указывать на байт, сле-

Дующий за последним байтом области стека. Контроль за чтением

Из пустого стека, если это необходимо, должна делать сама про-

Грамма.

Начальная установка регистров SS и SP может быть произведена

Программой, однако в MASM предусмотрена возможность автома-

Тической загрузки этих регистров. Если в директиве SEGMENT, начи-

Нающей описание сегмента стека, указать параметр STACK, тогда ас-

Семблер (точнее, загрузчик) перед тем, как передать управление на

Первую команду машинной программы, загрузит в регистры SS и SP

Нужные значения. Например, если в программе сегмент стека опи-

сан следующим образом:

ST SEGMENT STACK

DB 256 DUP(?) /размер стека - 256 байтов

ST ENDS

И если под этот сегмент была выделена область памяти начиная с







Date: 2015-11-13; view: 388; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию