Команды синхронизации процессора

Команды прерываний

Команды поддержки языков высокого уровня

Команда Описание
ENTER Размер,Вложенность Подготовка стека для локальных параметров процедуры. Алгоритм: · (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, выполняющую то же самое.

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: