Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Арифметические команды

Команды передачи данных

Основные группы команд процессора

 

По своим функциям все команды процессора 8086 делятся на шесть категорий. Эти шесть групп имеют следующий вид:

• Команды передачи данных

• Арифметические команды

• Логические команды

• Команды управления потоком

• Команды управления процессором

• Команды для работы со строками

Команды передачи данных процессора 8086 представлены в табл. 1. Эта группа делится на четыре части: об­щие, ввода-вывода, адресные и флагов. Операнды справа от каждого символического имени команды определяют необходимые ей элементы данных. Для большей части команд определены операнды назначения и источника. Дру­гие команды требуют один операнд или не требуют их вообще.

Рассмотрим первую из команд передачи данных — mov. Вероятно, mov чаще других команд встречается в про­граммах на языке ассемблера. Из табл. 1 видно, что для mov необходимы два операнда: операнд-источник и операнд-назначение. Отметим, что источник записывается после назначения, при предположении, что mov работает следующим образом:

mov назначение <-- источник

 

Таблица 1. Команды передачи данных  
Мнемокод / Операнды Описание
Основные команды
mov назначение, источник pop назначение push источник xchg назначение, источник xlat/xiatb таблица Переслать (скопировать) байт или слово Извлечение слова из стека Занесение слова в стек Перестановка байтов и слов Перекодировка таблицы
Команды ввода-вывода
in сумматор, порт out порт, сумматор Ввод (выборка) байта или слова из порта Вывод (размещение) байта или слова в порт
Адресные команды
lds назначение, источник lea назначение, источник les назначение, источник Загрузка регистра сегмента данных (используется ds) Загрузка эффективного адреса Загрузка регистра дополнительного сегмента (используется es)
Команды флагов
lahf popf pushf sahf Загрузка флагов в регистр АН Извлечение регистра флагов из стека Занесение регистра флагов в стек Установка флагов из регистра АН

 

Данные из источника передаются в направлении стрелки, справа налево. Будьте внимательны, чтобы не пере­путать местами операнды, что является типичной и опасной ошибкой. Следующая команда в языке ассемблера пересылает значение регистра Ьх в регистр ах:

mov ах, bх; ах <-- Ьх

Если значение ах равно 0000, а bх — 0123h, то после выполнения этой команды значение ах станет равным 0123h. Величина bх при этом не изменится.

 

В набор команд процессора 8086 не входят операции с плавающей точкой, возведения в степень, взятия квад­ратного корня, функции SIN и COS. Математические команды в языке ассемблера ограничиваются сложением, умножением, делением и вычитанием знаковых и беззнаковых целых двоичных чисел.

Существует два способа увеличения вычислительных возможностей языка ассемблера. Во-первых, вы можете приобрести (или написать) необходимые вам пакеты подпрограмм, которые реализуют функции высокого уровня. Другое решение связано с покупкой для вашего персонального компьютера математического сопроцессора, хотя это и требует определенных затрат для процессоров 80286 и 80386, которым необходимы соответствующие 80287 и 80387 математические сопроцессоры. Процессор 80486 содержит в себе встроенный 80387 сопроцессор. Третий, и возможно лучший способ, состоит в использовании для вычисления выражений с плавающей запятой языков вы­сокого уровня типа Turbo Pascal или Turbo С. Эти языки автоматически определяют наличие математического со­процессора и могут переключаться на программный эмулятор для систем, в которых он отсутствует.

 

 

Таблица 2. Арифметические команды

Мнемокод / Операнды Описание
Команды сложения
ааа adc назначение, источник add назначение, источник daa inc назначение Коррекция ASCII-формата для сложения Сложение с переносом Сложение байт или слов Десятичная коррекция для сложения Инкремент
Команды вычитания
aas cmp назначение, источник das dec назначение neg назначение   sbb назначение, источник sub назначение, источник Коррекция ASCII-формата для вычитания Сравнение Десятичная коррекция для вычитания Декремент Изменение знака числа (преобразование в дополнительный код) Вычитание с заемом Вычитание
Команды умножения
aam imul источник mul источник Коррекция ASCII-формата для умножения Умножение величин со знаком Беззнаковое умножение
Команды деления
aad cbw cwd div источник idiv источник. Коррекция ASCII-формата для деления Преобразование байта в слово Преобразование слова в двойное слово Беззнаковое деление Деление величин со знаком
<== предыдущая лекция | следующая лекция ==>
Лекция 05. Синтаксис ассемблера | Умножение и деление знаковых значений
Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 539; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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