На макроассемблере ms-dos


Скачать 0.6 Mb.
Название На макроассемблере ms-dos
страница 5/11
Тип Реферат
rykovodstvo.ru > Инструкция по эксплуатации > Реферат
1   2   3   4   5   6   7   8   9   10   11

4. Инструкции обработки битов


Процессоры 8086 и 8088 имеют 3 группы инструкций для обработки битов в форматах байта или слова: логические, сдвиги и вращения (все операции выполняются и над байтами, и над словами).

4.1. Логические инструкции


Логические инструкции включают булевы операторы НЕ, И, включающие ИЛИ, исключающие ИЛИ и операцию тестирования, которая устанавливает флаги, но не изменяет значения своих операндов.

Инструкции AND, OR, XOR и TEST следующим образом влияют на флаги. Флаги OF и CF логическими инструкциями всегда устанавливается в 0, а состояние флага AF не определено. Состояния флагов SF, ZF, и PF отражают результат операции и могут анализироваться инструкциями условного перехода (п. 6.2). Интерпретация этих флагов такая же, как для арифметических инструкций. Флаг SF устанавливается в 1, если результат отрицателен (старший бит равен 1), и устанавливается в 0, если результат положителен (старший бит равен 0). Флаг ZF устанавливается в 1, если результат равен 0, и устанавливается в 0 в противном случае. Флаг PF устанавливается в 1, если результат содержит чётное число единиц, и устанавливается в 0 в противном случае. Инструкция NOT на состояния флагов не влияет.

NOT приёмник ОТРИЦАНИЕ


Инструкция NOT инвертирует все биты (формирует дополнение до 1) байта или слова.

AND приёмник, источник ЛОГИЧЕСКОЕ И


Инструкция AND выполняет операцию логическое И двух операндов (байтов или слов) и возвращает результат в операнд-приёмник. Бит результата ус­та­нав­ливается в 1, если установлены в 1 оба соответствуюших ему бита операндов, и устанавливается в 0 в противном случае.

OR приёмник, источник ВКЛЮЧАЮЩЕЕ ИЛИ


Инструкция OR выполняет операцию логическое включающее ИЛИ двух операндов (байтов или слов) и помещает результат на место операнда-приёмника. Бит результата устанавливается в 1, если равен 1 хотя бы один из 2-х соответствующих ему битов операндов, и устанавливается в 0 в противном случае.

XOR приёмник, источник ИСКЛЮЧАЮЩЕЕ ИЛИ


Инструкция XOR выполняет операцию логическое исключающее ИЛИ 2-х операндов и помещает результат на место операнда-приёмника. Бит результата устанавливается в 1, если соответствующие ему биты операндов имеют противоположные значения, и устанавливается в 0 в противном случае.

TEST приемник,источник ТЕСТИРОВАНИЕ


Инструкция TEST выполняет операцию логическое И двух операндов (байтов или слов), модифицирует флаги, но результат не возвращает, т. е. операнды не изменяются. Если за TEST следует инструкция JNZ (переход, если не 0), то переход будет иметь место, если в обоих операндах имеются единицы в совпадающих позициях.

4.2. Сдвиги


Биты в байтах или словах могут быть сдвинуты арифметически или логически. В соответствии с кодируемым в инструкции счётчиком может быть выполнено до 255 сдвигов. Счётчик может быть специфицирован как константа 1 или как регистр CL, что позволяет задавать величину сдвига в процессе работы программы. Арифметические сдвиги могут быть использованы для умножения и деления двоичных чисел на степени 2 (см. SAR). Логические сдвиги могут применяться для выделения битов в байтах или словах.

Инструкции сдвига следующим образом воздействуют на флаги. Состояние флага AF всегда не определено после операции сдвига. Воздействие на флаги PF, SF и ZF аналогично логическим инструкциям. Флаг CF всегда содержит значение последнего сдвинутого за пределы операнда-приёмника бита. Состояние флага OF после многобитного сдвига всегда не определено. При единичном сдвиге OF установливается в 1, если в реэультате операции знаковый бит изменил своё значение, и устанавливается в 0 в противном случае.

SHL/SAL приемник,счетчик СДВИГ ВЛЕВО


Инструкции SHL и SAL выполняют операции соответственно логического и арифметического сдвига влево операнда приемник на величину бит, определяемую счетчиком. Приемник может быть байтом или словом. Появляющиеся справа биты заполняются нулями. Если знаковый бит сохраняет первоначальное значение, флаг OF устанавливается в 0.

SHR приемник,источник ЛОГИЧЕСКИЙ СДВИГ ВПРАВО


Инструкция SHR сдвигает биты операнда приемник (байта или слова) вправо на число разрядов, определяемое операндом счетчик. Появляющиеся слева биты заполняются нулями. Если знаковый бит сохраняет свое первоначальное значение, флаг OF устанавливается в 0.

SAR приемник,счетчик АРИФМЕТИЧЕСКИЙ СДВИГ ВПРАВО


Инструкция SAR сдвигает биты операнда приемник (байта или слова) вправо на число разрядов, определяемое операндом счетчик. Биты, равные первоначальному знаковому биту, появляются слева, сохраняя таким образом первоначальный знак числа. Отметим, что результат выполнения SAR отличается от делимого "эквивалентной" операции IDIV, если операнд приемника отрицателен и за его пределы сдвигаются единицы. Например, сдвиг числа -5 вправо на 1 бит дает -3, а деление -5 на 2 дает -2. Различие инструкций заключается в том, что IDIV округляет все числа по направлению к 0, а SAR округляет положительные числа к 0 и отрицательные - от нуля.

4.3. Вращения


Биты в байтах и словах можно вращать. Биты, сдвигаемые за пределы операнда, не теряются, как при сдвиге, а циклически появляются с другой стороны операнда. Как при сдвиге, величина вращения задается операндом счётчик, который может быть специфицирован как константа 1 или как регистр CL. Флаг CF может выступать как расширение операнда в двух инструкциях вращения (RCL и RCR), позволяя выделять бит во флаг CF и затем проверить его значение инструкциями JC или JNC. Вращения воздействуют только на флаг переноса CF и флаг переполнения OF. Флаг CF всегда содержит значение последнего вышедшего за операнд бита. В многопозиционных вращениях состояние флага OF всегда не определено. В одиночном вращении OF устанавливается в 1, если операция изменяет значение старшего (знакового) бита операнда, и устанавливается в 0 в противном случае.

ROL приёмник,счётчик ВРАЩЕНИЕ ВЛЕВО


Инструкция ROL вращает байт или слово приёмника влево на число бит, определяемое счётчиком.

ROR приёмник,счётчик ВРАЩЕНИЕ ВПРАВО


Инструкция ROR работает аналогично ROL, но вправо.

RCL приёмник,счётчик ВРАЩЕНИЕ ВЛЕВО С ПЕРЕНОСОМ


Инструкция RCL вращает биты байта или слова приемника влево на число бит, определяемое счётчиком. Флаг CF рассматривается как часть приёмника, т. е. его значение при этом вращении попадает в младший бит приёмника, а сам CF принимает значение старшего бита приёмника.

RCR приёмник,счётчик ВРАЩЕНИЕ ВПРАВО С ПЕРЕНОСОМ


Инструкция RCR работает в точности как RCL с той лишь разницей, что биты вращаются вправо.
1   2   3   4   5   6   7   8   9   10   11

Похожие:

На макроассемблере ms-dos icon Программный модуль Сбербанка России для обслуживания банковских карт на ккм под управлением dos
Интегрируемый программный модуль sb pilot exe используется совместно с программным обеспечением контрольно-кассовых машин для проведения...
На макроассемблере ms-dos icon Это один из самых простых языков, но далеко не один из самых слабых....
Программы на Turbo Pascal пишутся только для платформы ms-dos, но никак не зависят от конфигурации компьютера. Главным требованием...
На макроассемблере ms-dos icon Отчет по курсу "Корпоративные информационные системы" Тема: "Корпоративные...
Тема: "Корпоративные информационные системы (кис): Галактика, Microsoft Dynamics ax, Эталон (dos-версия), sap r/3"
На макроассемблере ms-dos icon Лабораторная работа №1 «Применение средств операционных систем и...

На макроассемблере ms-dos icon Лабораторная работа №1 «Применение средств операционных систем и...

На макроассемблере ms-dos icon Руководство пользователя бортовая диагностика для операционных систем ms-dos
...
На макроассемблере ms-dos icon Требования к продукции
Персональный компьютер Lenovo ThinkCentre Tiny M700 I5 6400T 4Gb 500gb 7200 Intel hd nodvd wi-Fi usb kb&Mouse dos (10HY003tru) или...
На макроассемблере ms-dos icon Содержание
ОС, — невозможность работы с графикой, «объемными» программами и однозадачность. Под dos было написано великое множество программ,...
На макроассемблере ms-dos icon Библиотека системного программиста
В книге приведено описание методик программирования аппаратуры персональных компьютеров, выполненных с применением процессоров Intel,...
На макроассемблере ms-dos icon Программирование под Windows
Программная организация Windows: модули kernel, use, gdi. Отличия Windows от dos. Многозадачность и единый интерфейс. Гибкое управление...
На макроассемблере ms-dos icon Современные операционные системы
Работа, написана так, что в ней последовательно изложен материал, начиная от Windows 95 кончая новейшей операционной системой Windows...
На макроассемблере ms-dos icon Руководство оператора по кад400
Кад400 (далее – комплекс), владеющих базовыми знаниями и навыками работы на персональном компьютере типа ibm pc в операционных системах...
На макроассемблере ms-dos icon Первым делом запустите команду
Первым делом запустите команду cmd (в Windows 8 запускать от имени администратора), чтобы открыть окно сеанса dos, в котором будут...

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск