Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 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; Нарушение авторских прав |