русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

CMPS/CMPSB/CMPSW


Дата добавления: 2015-06-12; просмотров: 749; Нарушение авторских прав


Сравнение строк

Операция: Сравнивают строки любой длины. Этим командам обычно предшествует префикс REPn, например REPE CMPSB. Команда CMPSB сравнивает память по байтам, а команда CMPSW — по словам. Первый операнд этих команд адресуется регистровой парой DS:SI, а второй — регистровой парой ES:DI. В случае, если флаг DF установлен в 0, то сравнение происходит слева направо, регистры SI и DI при этом увеличиваются после каждого сравнения. В случае, если флаг DF установлен в 1, то сравнение происходит справа налево, а регистры SI и DI при этом уменьшаются после каждого сравнения.

Флаги: Команда воздействует на флаги AF, CF, OF, PF, SF и ZF.

Объектный код: 1010011w.

CWD

Преобразование слова в двойное слово

Операция: Расширяет арифметическое значение в регистре АХ до размеров двойного слова в регистровой паре DX:AX, дублируя при этом знаковый бит (15-й бит в регистре АХ) через регистр DX. Обычно используется для получения 32-битового делимого.

Флаги: Не меняются.

Объектный код: 10011001 (без операндов).

DAA

Десятичная коррекция для сложения

Операция: Корректирует результат сложения двух BCD (десятичных упакованных) элементов в регистре AL. В случае, если четыре правых бита имеют значение больше 9 или флаг AF установлен в 1, то команда DAA прибавляет 6 к регистру AL и устанавливает флаг AF. В случае, если регистр AL содержит значение больше, чем 9F, или флаг CF установлен в 1, то команда DAA прибавляет 60Н к регистру AL и устанавливает флаг CF.

Флаги: Команда воздействует на флаги AF. CF, PF, SF и 2F (флаг OF неопределен).

Объектный код: 00100111 (без операндов).

DAS

Десятичная коррекция для вычитания

Операция: Корректирует результат вычитания двух BCD (десятичных упакованных) чисел в регистре AL. В случае, если четыре правых бита имеют значение больше 9 или флаг AF установлен в 1, то команда DAS вычитает 60Н из регистра AL и устанавливает флаг CF.



Флаги: Команда воздействует на флаги AF, CF, PF, SF и ZF.

Объектный код: 00101111 (без операндов).

DEC

Декремент

Операция: Вычитает 1 из байта или слова в регистре или в памяти например DEC СХ.

Флаги: Команда воздействует на флаги AF, OF, PF, SF и ZF.

DIV

Деление

Операция: Выполняет деление беззнакового делимого (16 или 32 бит) на беззнаковый делитель (8 или 16 бит). Левый единичный бит рассматривается как бит данных, а не как минус для отрицательных чисел. Для 16-битового деления делимое должно находиться в регистре АХ, а 8-битовый делитель возможен в регистре или в памяти, например DIV BH. Частное от деления получается в регистре AL, а остаток — в регистре AН. Для 32-битового деления делимое должно находиться в регистровой паре DX:AX а 16-битовый делитель возможен в регистре или в памяти, например DIV СХ. Частное от деления получается в регистре AХ, а остаток — в регистре DX.

Флаги: Команда воздействует на флаги AF, CF, OF, PF SF и ZF (все не определены).

ESC

Переключение на сопроцессор

Операция: Обеспечивает использование сопроцессора для выполнения специальных операций. Команда ESC передает в сопроцессор инструкцию и операнд для выполнения необходимой операции.

Флаги: Не меняются.

HLT

Останов микропроцессора

Операция: Приводит процессор в состояние останова, в котором происходит ожидание прерывания. При завершении команды HLT регистры CS:IP указывают на следующую команду. При возникновении прерывания процессор записывает в стек регистры CS и IP и выполняет подпрограмму обработки прерывания. При возврате из подпрограммы команда IRET восстанавливает регистры CS и IP из стека и управление передается на команду, следующую за командой HLT.

Флаги: Не меняются.

Объектный код: 11110100 (без операндов).

IDIV

Целое деление знаковых величин

Операция: Выполняет деление знакового делимого (16 или 32 бит) на знаковый делитель (8 или 16 бит). Левый единичный бит рассматривается как знак минус для отрицательных чисел. Для 16-битового деления делимое должно находиться в регистре АХ, a 8-битовый делитель возможен в регистре или в памяти, например IDIV DL. Частное от деления получается в регистре AL, а остаток — в регистре АН. Для 32-битового деления делимое должно находиться в регистровой паре DX:AX, а 16-битовый делитель возможен в регистре или в памяти, например IDIV BX. Частное от деления получается в регистре АХ, а остаток — в регистре DX.

Флаги: Команда воздействует на флаги AF, CF, OF, PF, SF и ZF.

IMUL

Целое умножение знаковых величин

Операция: Выполняет умножение на знаковый множитель (8 или 16 бит). Левый единичный бит рассматривается как знак минус для отрицательных чисел. Для 8-битового умножения множимое должно находиться в регистре AL, а множитель возможен в регистре или в памяти, например IMUL BL. Произведение получается в регистре АХ. Для 16-битового умножения множимое должно находиться в регистре АХ, а множитель возможен в регистре или в памяти, например IMUL BX. Произведение получается в регистровой паре DX:AX.

Флаги: Команда воздействует на флаги CF и OF (флаги AF PF SF и ZF не определены).

 

IN

Ввод байта или слова из порта

Операция: Передает из вводного порта один байт в регистр AL или два байта в регистр АХ). Порт кодируется как фиксированный числовой операнд (IN АХ,порт#) или как переменная в регистре DX (IN AX,DX).

Флаги: Не меняются.

INC

Инкремент

Операция: Прибавляет 1 к байту или слову в регистре или в памяти, например INC СХ.

Флаги: Команда воздействует на флаги AF, OF, PF, SF и ZF.

INT

Прерывание

Операция: Прерывает выполнение программы и передает управление по одному из 256 адресов (векторов прерывания). Команда INT выполняет следующее:

1) уменьшает значение SP на 2 и заносит в стек флаговый регистр, сбрасывает флаги IF и TF;

2) уменьшает значение SP на 2 и заносит регистр CS в стек, старшее слово из вектора прерывания помещает в регистр CS;

3) уменьшает значение SP на 2 и заносит регистр IP в стек, младшее слово из вектора прерывания помещает в регистр IP.

Флаги: Команда воздействует на флаги IF и TF.

INTO

Прерывание по переполнению

Операция: Приводит к прерыванию при возникновении переполнения (флаг OF установлен в 1) и выполняет команду IRET 4. Адрес подпрограммы обработки прерывания (вектор прерывания) находится по адресу 10Н.

Флаги: Не меняются.

Объектный код: 11001110 (без операндов).

 

 

IRET

Возврат из обработки прерывания

Операция: Обеспечивает возврат из подпрограммы обработки прерывания. Команда IRET выполняет следующее:

1) помещает слово из вершины стека в регистр IP и увеличивает значение SP на 2;

2) помещает слово из вершины стека в регистр CS и увеличивает значение SP на 2;

3) помещает слово из вершины стека во флаговый регистр и увеличивает значение SP на 2.

Флаги: Команда воздействует на все флаги.

Объектный код: 11001111 (бег операндов).



<== предыдущая лекция | следующая лекция ==>
Байт способа адресации | JLE/JNG


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.126 сек.