Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
От слова, тогда для записи параметра в стек нужны, конечно, не-
Сколько команд, а не одна.) Первыми командами подпрограммы обычно являются сле- дующие: PUSH ВР;сохранить в стеке старое значение ВР MOV SP,BP /установить ВР на вершину стека SUB SP,m /отвести в стеке место (т байтов) под ; локальные величины подпрограммы. Поясним эти ≪входные≫ команды. В подпрограмме для обраще- Ния к ячейкам стека, занятым параметрами, используется (как базо- вый) регистр ВР: если в ВР занести адрес вершины стека, то для дос- Тупа к этим ячейкам следует использовать адресные выражения вида 1[ВР] или, что то же самое, [ВР + i]. (Отметим, что приме- Нять здесь регистры-модификаторы вх, si и DI нельзя, так как Формируемые по ним исполнительные адреса будут сегментировать- Ся по умолчанию по регистру DS, а в данном случае необходимо сег- Ментирование по ss.) Однако данная подпрограмма может быть вы- Звана из другой, также использующей регистр ВР, поэтому прежде, Чем установить ВР на вершину стека, надо спасти в стеке старое значение этого регистра, что и делает первая из ≪входных≫ команд. Вторая же команда устанавливает ВР на вершину стека. Если Предположить, что каждый параметр и адрес возврата занимают по Слову памяти, тогда доступ к первому параметру обеспечивается ад- ресным выражением [ВР + 4], ко второму —выражением [ВР + 6] и т. д. Режимы процессора. Система команд процессоров 180x86... 417 Подпрограмме может потребоваться место для ее локальных ве- Личин. Такое место обычно отводится в стеке (а для рекурсивных подпрограмм только в стеке) ≪над≫ ячейкой, занимаемой старым значением ВР. Если под эти величины нужно т байтов, то такой ≪за- хват≫ места можно реализовать простым уменьшением значения ре- гистра SP на т, что и делает 3-я ≪входная≫ команда. Доступ к ло- Date: 2015-11-13; view: 349; Нарушение авторских прав |