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

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

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

префикса REP эти команды повторяются п раз, где п = (ЕСХ). В результате
после выполнения команды REP LODS в аккумулятор будет помещен п-й символ
строки-источника, а после REP STOS содержимое аккумулятора будет введено
п раз в качестве п символов строки-приемника. Команда REP MOVS
осуществляет пересылку п символов из строки-источника в строку-приемник.
Команды ввода-вывода символов INS и OUTS выполняют ввод символа в строку-
приемник или вывод символа из строки-источника. Номер адресуемого порта
задается содержимым регистра DX. Команды с префиксом REP INS и REP OUTS
осуществляют ввод последовательности из п символов в строку-приемник или
их вывод из строки-источника. Выполнение этих команд в защищенном режиме
производится, как и команд IN, OUT, в зависимости от значения уровней
привилегий CPL и IOPL.
При выполнении команды сравнения CMPS происходит вычитание символа
строки-приемника из символа строки-источника с установкой соответствующих
признаков. Команда сканирования SCAS производит аналогичное вычитание
символа строки-приемника из содержимого аккумулятора. Установка признаков
для команд CMPS, SCAS выполняется так же, как для команды СМР (см. табл.
2.17). Результат вычитания в командах CMPS, SCAS не сохраняется, поэтому
эти команды используются для сравнения значений символов двух строк между
собой или сравнения символа строки-приемника и эталонного символа,
размещенного в аккумуляторе.
Наличие префикса REPE(hhh REPNZ) останавливает повторение операций при
обнаружении одинаковых символов в строках (команда CMPS) или в строке-
источнике и аккумуляторе (команда SCAS). Если одинаковые символы
отсутствуют, то выполнение команды продолжается до конца строки. Префикс
REPNE (или REPNZ) останавливает выполнение команд CMPS и SCAS при
обнаружении неодинаковых символов. Если все символы одинаковы, то команды
выполняются п = (ЕСХ) раз. Команда CMPS используется для поиска
одинаковых (с префиксом REPE) или различных (префикс REPNE) символов в
строках. Команда SCAS с префиксом REPE(REPNZ) или REPNE (REPNZ) служит
для поиска в строке-источнике символа, совпадающего или не совпадающего с
заданным в аккумуляторе эталоном.
си
Таблица 2.20
Команды операций со строками символов
Синтаксис команды Операция
LODS (B.W.D) В, W или D (строка-источник) -" AL, AX или EAX
STOS (B.W.D) MOVS (B.W.D) INS (B.W.D) OVT (B.W.D) REP AL, AX или EAX ->
B, W или D (строка-приемник) В, W или D (строка-источник) -> В, W или D
(строка-приемник) port (DX) -> В, W или D (строка-приемник) В, W или D
(строка-источник) -> port (DX) Префикс повторения, n=(ECX)
SCAS (B,W,D) CMPS (B,W,D) REPE (REPZ) REPNE (REPNZ) В, W или D
(строка-источник) - В, W или D (строка-приемник) установка признаков
OF,SF,AF,ZF,PF,CF AL, АХ или ЕАХ - В, W или D (строка-приемник) установка
признаков OF,SF,AF,ZF,PF,CF Префикс повторения до установки ZF=1 Префикс
повторения до установки ZF=10
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ
Чтобы сократить время реакции на внешние прерывания, процессор при
выполнении команд этой группы может принимать и обслуживать запросы
прерывания INTR после обработки каждого символа строки.
2.3. СИСТЕМА КОМАНД: ОПЕРАЦИИ УПРАВЛЕНИЯ
К этому классу относятся команды, которые обеспечивают управление
программой -условные и безусловные переходы, обращение к подпрограммам
прерывания, организацию цикла и др., поддержку языков высокого уровня,
организацию защиты памяти и управления процессором. Ниже дается полный
перечень этих команд, разбитых на функциональные группы.
Управление программой
Безусловная передача управления:
JMP - Безусловный переход CALL- Вызов подпрограммы RET - Возврат из
подпрограммы Условные переходы без учета знака:
JA/JNBE - Переход, если выше (не ниже, не равно)
JAE/JNB/JNC - Переход, если CF = 0: выше или равно (не ниже)
JB/JNAE/JC - Переход, если CF = 1: ниже (не выше или равно)
JBE/JNA- Переход, если ниже или равно (не выше)
JE/JZ - Переход, если равно (нуль): ZF = 1 JNE/JNZ-Переход, если не равно
(не нуль): ZF = 0 JP/JPE - Переход, если четность: PF = 1 JNP/JPO -
Переход, если нечетность: PF = 0
Условные переходы с учетом знака:
JG/JNLE - Переход, если больше (не меньше, не равно)
JGE/JNL-Переход, если больше или равно (не меньше)
JL/JNGE - Переход, если меньше (не больше, не равно)
JLE/JNG - Переход, если меньше или равно (не больше)
JS - Переход, если отрицательно: SF = 1 JNS - Переход, если положительно:
SF = 0 JO-Переход, если переполнение: OF = 1 JNO - Переход, если нет
переполнения: OF = 0 Вызов системных программ:
SYSENTER - Быстрый переход к системной программе SYSEXIT - Быстрый
возврат из системной программы
Прерывания
INT-Прерывание
INTO - Прерывание по переполнению (OF = 1)
INT3 - Прерывание в контрольной точке
UD2 - Прерывание недействительного кода операции
IRET - Возврат из подпрограммы обслуживания прерывания
CLI-Запрещение прерываний
STI - Разрешение прерываний
ПО
СИСТЕМА КОМАНД: ОПЕРАЦИИ УПРАВЛЕНИЯ
Предыдущая << 1 .. 51 52 53 54 55 56 < 57 > 58 59 60 61 62 63 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed