sell track2

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


Команды управления микропроцессором
Команды управления микропроцессором       Оставшиеся команды микропроцессора 8088 управляют его работой.     Многие из них устанавливают или сбрасывают некоторые флаги     состояния....
Установка флагов
Установка флагов     Есть три команды, которые непосредственно управляют состоянием     флага переноса.  Команды STC, CLC, CMC соответственно могут     устанавлмвать, сбрасывать и изменять флаг п...
Специальные команды
Специальные команды     Команда NOP - еще одна удобная команда микропроцессора 8088.  Она     не делает ничего - "нет операции".  Тщательный анализ машинных     команд показывает, что э...
Пересылка данных
Пересылка данных     Команды пересылки данных обычно наиболее часто используются из     всего набора команд любой ЭВМ, и микропроцессор 8088 - не     исключение.  Большая часть каждой задачи по об...
Команда пересылки
Команда пересылки     Команда MOV - основная команда пересылки данных, которая пересылает     байт или слово данных из памяти в регистр, из регисрта в память,     или из регистра в регистр.      К...
Команда замены
Команда замены     Команда замены XCHG просто меняет местами содержимое двух ячеек.     Эта команда может поменять местами содержимое двух регистров, или     регистра и памяти.  При этом в качеств...
Команды ввода и вывода
Команды ввода и вывода     Для выполнения операций ввода и вывода микропроцессор 8088 имеет     команды IN и OUT соответственно.  Каждое устройство ввода=вывода     IBM PC имеет один или больше вс...
Загрузка исполнительного адреса
Загрузка исполнительного адреса     Команда загрузки действительного адреса LEA очень похожа на команду     MOV.  Но вместо пересылки данных из ячейки памяти в регистр команда     LEA загружает в...
Загрузка указателя
Загрузка указателя     Поскольку механизм адресации микропроцессора 8088 требует     определения как сегмента, так и смещения каждой переменной,     желательно загрузить всю эту адресную информаци...
Пересылка флагов
Пересылка флагов     Набор команд микропроцессора 8088 имеет команды LAHF и SAHF в     первую очередь для совместимости с набором команд микропроцессора     8080.  Команда LAHF берет 8 младших би...
Перекодировка
Перекодировка     Команда перекодировки XLAT преобразует информацию из одного     представления в другое.  Команда XLAT преобразует значение в     регистре AL в другое значение, выбираемое из таб...
Операции со стеком
Операции со стеком     В гл.3 обсуждалось, как реализован стек в микропроцессоре 8088.     Микропроцессор 8088 адресует стек с помощью регистровой пары SS:SP.     Помещение объектов в стек приводи...
Передача параметров
Передача параметров       Стек также служит удобным местом для передачи информации в     подпрограммы и из них. Обычно программа передает параметры в     подпрограмму, помещая их в регистры, однак...
Арифметические команды
Арифметические команды       Арифметические команды любого микропроцессора привлекают к себе     наибольшее внимание. Каждый заинтересован в выполнении     арифметических вычислений, и именно эти...
Сложение
Сложение     Команда ADD выполняет сложение указанных операндов, представленных     в двоичном дополнительном коде.  Микропроцессор помещает результат     на место первого операнда после того, ка...
Символьная коррекция деление
Символьная коррекция: деление     Так же, как и другие арифметические операции, деление имеет     соответствующую команду для обслуживания распакованных десятичных     чисел.  Однако в отличие от...
Команда преобразования
Команда преобразования     Когда программа выполняет целое деление со знаком, возникает     проблема, если делимое - байтовый операнд.  Иногда нужно разделить     байтовое значение на байтовое, н...
Вычитание
Вычитание     Команды вычитания SUB и SBB идентичны командам сложения, за     исключением того, что они выполняют вычитание, а не сложение.  Вы     можете скорректировать Фиг.4.8 для вычитания, и...
Арифметика с одним операндом
Арифметика с одним операндом     Команда отрицания NEG - это оператор смены знака.  Она меняет знак     двоичного дополнительного кода операнда=байта или слова.  Другие     две команды с одним оп...
Сравнение
Сравнение     Команда сравнения CMP сравнивает два числа, вычитая одно из     другого.  Она не записывает результат, но флаги состояния     устанавливает в соответствии с результатом.  Эта команд...
Десятичная коррекция
Десятичная коррекция     Те же самые команды, что и для чисел в двоичном дополнительном     коде, используются в программе для работы с числами в     двоично=десятичном коде BCD.  Однако результа...
Симовльная коррекция сложение и вычитание
Симовльная коррекция: сложение и вычитание     Команды символьной коррекции очень похожи на команды десятичной     коррекции.    Они следуют за сложением или вычитанием распакованных     десятичн...
Умножение
Умножение     Микропроцессор 8088 значительно мощнее предшествовавших ему     8=битовых устройств.  Одна из причин увеличения мощности -     добавление команд умножения и деления к набору команд...
Символьная коррекция умножение
Символьная коррекция: умножение     Когда в программе перемножаются два неупакованных десятичных числа,     результат в регистре AL является двоичным числом. Поскольку     наибольшее неупакованно...
Команда деления
Команда деления     Одна из арифметических операций микропроцессора 8088 - деление.     Как и в случае умножения, существует две формы деления - одна для     двоичных чисел без знака DIV, а втора...
Арифметический пример
Арифметический пример     Чтобы проиллюстрировать функции, которые мы рассмотрели в     предыдущих разделах, давайте решим арифиетическую задачу на языке     ассемблера.  Пример прост, но использу...
Логические операции
Логические операции     Следующий класс команд - логические команды.  Эти команды, точно     так же, как и арифметические команды, преобразуют данные, но делают     это не арифметически.  В то вре...
Операции сдвига и поворота
Операции сдвига и поворота     Остальные логические команды на Фиг. 4.19 выполняют сдвиги данных.     Команда сдвига перемещает все биты в поле данных либо вправо, либо     влево.  Это можно проил...
Команды обработки строк
Команды обработки строк     Одной из функций, в которой в наборе команд микропроцессора 8088     уделено особое внимание, является обработка строк.      Строка символов     или чисел, с которыми п...
Загрузка и запись
Загрузка и запись     Листинг ассемблера на Фиг. 4.22 показывает различные строковые     команды.  Загрузка строки LODS и запись строки STOS являются     простейшими строковыми командами.  Если п...
Префикс REP
Префикс REP     Существует специальный случай использования строковых команд.  Есть     префикс, специально предназначенный для строковых команд.  Также     как префикс подавления сегментации, ис...
Пересылка строки
Пересылка строки     Может показаться удобным использовать команды LODS и STOS для     пересылки данных из одного места в другое, но для этой цели     существует другая команда, пересылка строки M...
Команды сканирования и сравнения
Команды сканирования и сравнения     Две оставшиеся строковые команды используются в программах для     сравнения строковой информации.  Первая из них - команда,     сканирование строки SCAS.  Эт...
Команды передачи управления
Команды передачи управления       Команды передачи управления нужны для того, чтобы передавать     выполнение программы в различные секции команд. В их число входят     также команды вызова подпро...
Близкие и далекие переходы
Близкие и далекие переходы     Команды перехода модифицируют указатель команды IP, и, возможно,     регистр сегмента кодов CS.      Эти регистры показывают, какая     следующая команда должна быт...
Адресация переходов
Адресация переходов     Если адрес перехода или вызова подпрограммы является частью самой     коамнды (как данные в командах с непосредственным операндом), это -     непосредственный переход.  Ес...
Безусловные переходы
Безусловные переходы     Безусловные переход - это такой переход, который передает     управление всякий раз, когда он выполняется.  Наоборот, услловный     переход проверяет текущее состояние ма...
Переходы по условию
Переходы по условию     Условные переходы делятся на две группы:  проверяющие результаты     предыдущей арифметической или логической команды, и управляющие     итерациями фрагмента программы.  В...
Проверки кода условия
Проверки кода условия     Первая группа команд условного перехода проверяет текущее состояние     регистра флагов.  Затем в зависимости от кодов условия команда     делает переход (или не делает)...
Управление циклами
Управление циклами     Существует несколько команд условного перехода, предназначенных для     управления циклами в программах.  Поскольку программые циклы     используются часто, желательно эффек...


- Начало -