Читаем Искусство схемотехники. Том 2 [Изд.4-е] полностью

Intel 8086 — это 16-разрядный процессор с богатым и несколько своеобразным набором команд, сложность которого отчасти обусловлена стремлением разработчиков сохранить совместимость с 8-разрядным МП Intel 8080 ранней модели. Более поздние разработки, такие как МП Intel 80286 и 80386, все еще поддерживают полный набор команд МП Intel 8086. Вооружившись подходящим мачете, выберемся из джунглей полного набора команд, сохранив лишь нужные нам сейчас 10 арифметических команд и 11 прочих. Вот они:




Краткий обзор. Некоторые пояснения: первые шесть арифметических команд работают с парами чисел (2-х операндные команды), которые мы обозначим как Ь, а и которые могут представлять собой любую из пяти пар, указанных в примечании; при этом m означает содержимое ячейки памяти, r означает содержимое регистра ЦП (их 8), a imm — непосредственный аргумент, который представляет собой число, располагаемое в следующих за командой от 1 до 4 байт памяти. Таким образом, например, команды:

MOV count,CX

ADD small,02H

AND AX,007FH

имеют аргументы типов m, r, m, imm, r, imm соответственно. Первая копирует содержимое регистра СХ в ячейку памяти, именуемую count; вторая прибавляет 2 к содержимому другой ячейки памяти, именуемой small; третья обнуляет 9 старших разрядов 16-разрядного регистра АХ, сохраняя при этом 7 младших разрядов неизменными (так называемая операция маскирования). Отметим принятое фирмой Intel соглашение о порядке аргументов: первый аргумент замещается вторым или модифицируется на основе значения второго аргумента. (В следующей главе мы увидим, что Motorola предписывает другой порядок действий).

Последние четыре арифметические операции имеют только один операнд, который может быть содержимым либо регистра, либо ячейки памяти. Вот два примера:

INC count

NEG AL

Первая команда прибавляет 1 к ячейке памяти, именуемой count, а вторая изменяет знак содержимого регистра AL.

Лирическое отступление: адресация. Прежде, чем продолжить, несколько слов по поводу адресации регистров и памяти. Процессор Intel 8086 предлагает использовать 8 его регистров общего назначения, однако после изучения рис. 10.2 вы придете к заключению о том, что большинство этих регистров используются специфически.



Рис. 10.2.Регистры общего назначения МП 8086.


Четыре из них (A-D) могут быть использованы как в виде единых 16-разрядных регистров (АХ, где X означает extended — расширенный), так и в виде пар байтовых регистров [АН, AL, соответственно Η означает старший (high) байт регистра АХ, a AL- младший (low) байт]. Регистры ВХ и ВР, так же как и SI, DI, могут содержать адреса и предназначены для использования при адресации (см. ниже). Специальные циклические команды (которые мы исключили из нашего краткого перечня) используют регистр С, а команды умножения/деления и ввода-вывода используют регистры А и D.

Данные, используемые в командах, могут представлять собой константу, величину, содержащуюся в регистре или величину, содержащуюся в памяти. Константы вы указываете, просто записывая их, а регистры - по именам, так, как было показано выше. Для адресации памяти МП Intel 8086 обеспечивает 6 режимов адресации, три из которых пояснены схемами на рис. 10.3.



Рис. 10.3.Некоторые способы адресации.


Вы можете прямо указать имя переменной, в этом случае ее адрес при ассемблировании будет определяться парой байтов, следующих сразу же за командой; вы можете занести адрес переменной в один из регистров, используемых для адресации (ВХ, ВР, SI или DI), а затем выполнить команду, в которой предусмотрена косвенная адресация через соответствующий регистр; можно модифицировать последний режим адресации и получать адрес переменной, прибавляя константу смещения к содержимому регистра, используемого для адресации. Косвенный режим быстрее (в предположении, что адрес уже загружен в соответствующий регистр) и является гораздо более приемлемым, если вы хотите выполнять некоторые операции над множеством чисел (строкой или массивом).

Вот несколько примеров адресации:

MOV count,100Н (прямая, непосредственная)

MOV [ВХ],100Н (косвенная, непосредственная)

MOV [ВХ + 1000Н], (адресация по базе, регистр)

АХ

В двух последних командах предполагается, что мы уже загрузили адрес в ВХ. Последняя команда копирует содержимое АХ в ячейку памяти, смещенную на 4 К (1000-ричное) выше от ячейки, на которую указывает ВХ; ниже мы вкратце рассмотрим пример, иллюстрирующий, как можно использовать эту команду для копирования массива.

Перейти на страницу:

Похожие книги

Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию, елочные огни, электронные украшения, устройство преобразования звука, кодовый замок и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий. Во втором издании существенно переработан текст книги, в экспериментах используются более доступные электронные компоненты, добавлены новые проекты, в том числе с контроллером Arduino.

Чарльз Платт

Радиоэлектроника / Технические науки
Искусство схемотехники. Том 3 (Изд.4-е)
Искусство схемотехники. Том 3 (Изд.4-е)

Широко известная читателю по предыдущим изданиям монография известных американских специалистов посвящена быстро развивающимся областям электроники. В ней приведены наиболее интересные технические решения, а также анализируются ошибки разработчиков аппаратуры: внимание читателя сосредотачивается на тонких аспектах проектирования и применения электронных схем. На русском языке издается в трех томах. Том 3 содержит сведения о микропроцессорах, радиотехнических схемах, методах измерения и обработки сигналов, принципах конструирования аппаратуры и проектирования маломощных устройств, а также обширные приложения. Для специалистов в области электроники, автоматики, вычислительной техники, а также студентов соответствующих специальностей вузов и техникумов.

Уинфилд Хилл , Пауль Хоровиц

Техника / Радиоэлектроника