Подготовка стека для локальных параметров процедуры. Алгоритм:
· (EBP) => стек.
· (ESP) => промежуточная переменная fp.
Если Вложенность не 0, то коррекция EBP по режиму адресации и (EBP) => стек.
· (fp) => EBP.
· (fp) => стек.
· ESP = (ESP) - Размер
LEAVE
LEAVE from procedure – выход из процедкры.
Выполгяет действия, обратные комаде ENTER, приводя стек в исходное состояние:
· (EBP) => ESP – восстановление состояния стека до процедуры.
· EBP восстанавливается из стека.
BOUND
РегистрИндекса, ГраницыМассива
BOUND check array BOUNDs – контроль нахождения индекса в гоаницах массива.
РегистрИндекса содержит текущий индекс массива, а второй операнда определяет в памяти 2 слова или 2 двойных слова. Первое считается минимальным значением индекса, а второе - максимальным. Если текущий индекс оказывается вне границ, то генерируется команда INT 5. Используется для контроля нахождения индекса в заданных рамках, что является важным средством отладки.
Команда
Описание
INT НомерПрерывания
INTerrupt – прерывание.
Вызов прерывания с заданным номером. Алгоритм:
· В стек содержимое регистра флагов.
· В стек полный адрес возврата.
Сбрасывается флаг TF.
· Косвенный переход через элемент дескрипторной таблицы прерываний по НомерПрерывания.
INTO
INTerrupt if Overflow – прерывание, если переполнение.
Вызов прерывания с заданным номером. Алгоритм:
· Если флаг переполнения OF = 0, ничего не делается.
· Если флаг переполнения OF = 1, то вызов команды INT.
IRET
Interrupt RETurn – возврат из прерывания. Алгоритм:
· Если флаг NT = 0, то возврат в прерванную программу.
· Если флаг NT = 1, то переключение задач.
Команда извлекает из стека сохраненные в нем адрес возврата и регистр флажков. Бит уровня привилегий будет модифицироваться только в том случае, если текущий уровень привилегий равен 0.
Команда
Описание
HLT
HaLT – останов.
Останавливает процессор. Из него процессор может быть выведен внешним прерыванием или перезагрузкоц.
LOCK
LOCK signal prefix – блокировка.
Представляет собой префикс блокировки шины. Он заставляет процессор сформировать сигнал LOCK# на время выполнения находящейся за префиксом команды. Этот сигнал блокирует запросы шины другими процессорами в мультипроцессорной системе.
NOP
No Operanion – нет операции.
Холостая команда. Не производит никаких действий.
WAIT
WAIT – ожидание.
Синхронизация с сопроцессором, останавливает основной процессор до завершение операции в сопроцессоре.. Большинство команд сопроцессора автоматически вырабатывают команду.FWAIT, выполняющую то же самое.
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав!Последнее добавление