Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 58

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 52 53 54 55 56 57 < 58 > 59 60 61 62 63 64 .. 528 >> Следующая

Организация циклов
LOOP - Реализация циклов, пока ЕСХ = О LOOPE/LOOPZ - Реализация циклов,
пока ЕСХ = 0 или ZF = 1 LOOPNE/LOOPNZ - Реализация циклов, пока ЕСХ = 0
или ZF = О JCXZ (JECXZ) - Реализация циклов, пока СХ = О (ЕСХ = 0)
Операции над признаками
LAHF - Загрузка признаков в регистр АН
SAHF - Запись содержимого АН в регистр признаков
PUSHF - Запись содержимого регистра признаков в стек
POPF - Загрузка содержимого регистра признаков из стека
CLC - Сброс признака переноса: CF = 0
STC-Установка признака переноса: CF = 1
СМС - Инвертирование признака переноса CF
CLD - Сброс признака направления: DF = 0
CTD- Установка признака направления: DF = 1
Поддержка языка высокого уровня
BOUND - Проверка границ массива ENTER - Обращение к процедуре LEAVE -
Выход из процедуры
Организация защиты памяти SGDT - Запись содержимого регистра таблицы
глобальных дескрипторов SLDT - Запись содержимого регистра таблицы
локальных дескрипторов SIDT - Запись содержимого регистра таблицы
дескрипторов прерываний STR- Запись содержимого регистра задачи LGD -
Загрузка регистра таблицы глобальных дескрипторов LLDT -Загрузка регистра
таблицы локальных дескрипторов LIDT- Загрузка регистра таблицы
дескрипторов прерываний LTR- Загрузка регистра задачи CLTS - Сброс
признака переключения задачи: TS = 0 ARPL - Коррекция запрошенного уровня
привилегий LAR - Загрузка прав доступа LSL- Загрузка границы сегмента
VERR- Проверка доступности сегмента при чтении VERRW - Проверка
доступности сегмента при записи
Управление процессором LMSW - Загрузка слова состояния машины (MSW)
SMSW - Запись в память слова состояния машины (MSW)
NOP - Отсутствие операции HLT-Останов
CPUID - Идентификация модели процессора RSM - Возврат из режима
системного управления INVD-Аннулирование содержимого кэш-памяти WBINVD -
Обратная запись и аннулирование кэш-памяти INVLPG-Аннулирование входа в
таблицу страниц
RDMSR-Чтение содержимого модельно-специфических регистров MSR WRMSR-
Запись содержимого модельно-специфических регистров MSR RDPMC - Чтение
счетчика-монитора производительности RDTSC -Чтение содержимого регистра-
счетчика времени
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ
Префиксные байты, которые вводятся перед очередной командой, изменяют
процедуру ее выполнения. Поэтому префиксные байты можно рассматривать как
дополнительные команды управления, которые определяют процесс выполнения
последующей операции:
префикс SEG - замена сегмента префикс AS - изменение разрядности адреса
префикс OS - изменение разрядности операнда префикс LOCK-блокировка
магистрали
префиксы REP, REPE(NE) - повторение операций со строками символов
2.3.1. КОМАНДЫ УПРАВЛЕНИЯ ПРОГРАММОЙ
К этой группе относится большое число команд, которые для удобства
описания разобьем на несколько подгрупп.
Команды безусловной передачи управления (табл. 2.21) осуществляют
безусловный переход (JMP), вызов подпрограммы (CALL) и возврат из
подпрограммы (RET).
Если передача управления происходит внутри сегмента (NEAR - ближняя
передача), то содержимое регистра CS не меняется и реализуется переход к
команде, расположенной в текущем сегменте кодов. Команды JMP и CALL с
относительной адресацией производят увеличение содержимого регистра IP
или EIP на указанную в команде величину ге18,16 или 32, которая
воспринимается как число со знаком. При вычислении нового относительного
адреса команды (IP, EIP)+(rel8,16,32) возникающий перенос игнорируется,
поэтому полученный адрес остается в пределах текущего сегмента кодов.
Команды JMP и CALL с косвенной адресацией загружают в IP или EIP
содержимое регистра или ячейки памяти г/т(16,32), адресуемых байтом
MODR/M. Команда CALL перед этим заносит в стек текущее значение IP или
EIP, которое является относительным адресом следующей команды программы.
При поступлении команды RET производится восстановление из стека
содержимого IP, EIP, необходимого для вычисления адреса возврата.
При передаче управления между сегментами (FAR - дальняя передача)
меняется не только содержимое регистра EIP или IP, но и базовый адрес
сегмента, определяемый содержимым регистра сегмента кодов CS. При
выполнении команд JMP и CALL с непосредственной адресацией в качестве
операнда ptrl 6:16 или ptrl 6:32 в команде задается 16-разрядное число
ptr16 - новое содержимое регистра CS, и ptr16 или ptr32 - новое
содержимое регистра IP или EIP. При косвенной адресации с помощью байта
MODR/M адресуются ячейки памяти т(16:16, 16:32), в которых
последовательно располагается новое содержимое IP или EIP и 16-разрядный
селектор, загружаемый в регистр CS. Отметим, что в этом случае не
производится адресация к регистрам, т е. в байте MODR/M должно быть
установлено значение поля mod = 11.
Для возврата из подпрограммы используется команда RET, которая
восстанавливает из стека содержимое регистров EIP или IP и CS (при
выполнении межсегментных переходов). Если команда RET содержит
непосредственный операнд im 16, то после извлечения из стека содержимого
Предыдущая << 1 .. 52 53 54 55 56 57 < 58 > 59 60 61 62 63 64 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed