Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Микроконтроллеры семейства Zilog Z86

нды, и до двух адресных полей. Способы трактовки кодов в  адресном  поле
называются способами  адресации  операндов.Прежде  чем  рассматривать  набор
команд,  необходимо  более   подробно   рассмотреть   используемые   способы
адресации операндов.
                     1.3.1. Способы адресации операндов
В МК Z8 использовано шесть основных способов адресации операндов :
— регистровая ( Register );
— косвенная регистровая ( Indirect Register );
— индексная ( Indexed );
— прямая ( Direct );
— относительная ( Relative );
— непосредственная ( Immediate ).
Кроме  того,  регистровая  и  косвенная  регистровая  адресации  имеют   ряд
модификаций: они могут  использовать  сокращенный  4-битный  адрес  рабочего
регистра,  полный  8-битный  адрес  регистра,  сокращенный  4-битный   адрес
рабочей  пары  регистров,  полный  8-битный  адрес  регистровой  пары.   При
адресации пар регистров используется четное  выравнивание,  т.е.  допустимые
адреса —четные числа.  Шестнадцатибитные  операнды  занимают  в  регистровом
файле пару регистров, причем по четному адресу размещается старший байт.
Все  способы  адресации  операндов  в  системе  команд  МК  Z8  приведены  в
табл.1.7.  В  таблице  указаны  условные  обозначения  способов   адресации,
используемые в дальнейшем в таблице команд, наименование способа  адресации,
обозначение операнда на языке ассемблера, диапазон значений адреса  и  номер
рисунка, на котором дана графическая интерпретация способа адресации.
Следует отметить, что адреса типа R, RR, IR, IRR предполагают  использование
как полного 8-битного адреса  регистра,  так  и  сокращенного  4-битного.  В
последнем случае адрес размещается в младшей тетраде адресного  байта,  а  в
старшей тетраде указывается код 1110B (EH) :
|E     |Dst/src   |


Поэтому обращение к  регистрам  рабочей  группы  E  СРФ  возможно  только  с
помощью рабочей регистровой адресации (см. п.п.1.2.2.1).

                  Таблица 1.7. Способы адресации операндов
|Спосо|Наименование                                |Операн|Диапазон|Ри|
|б    |                                            |д     |        |с.|
|r    |Рабочая регистровая(РР)                     |Rn    |n=0,...,|1.|
|     |                                            |      |15      |35|
|R    |Регистровая или РР                          |Reg   |00H —FFH|1.|
|     |                                            |Rn    |        |36|
|     |                                            |      |n=0,...,|  |
|     |                                            |      |15      |1.|
|     |                                            |      |        |35|
|RR   |Регистровая пара или PP пара (четное        |Reg   |00H —FEH|1.|
|     |выравнивание)                               |RRp   |        |38|
|     |                                            |      |p=0,...,|  |
|     |                                            |      |14      |1.|
|     |                                            |      |        |37|
|Ir   |Косвенная РР                                |@Rn   |n=0,...,|1.|
|     |                                            |      |15      |39|
|IR   |Косвенная регистровая или косвенная РР      |@Reg  |00H —FFH|1.|
|     |                                            |@Rn   |        |40|
|     |                                            |      |n=0,...,|  |
|     |                                            |      |15      |1.|
|     |                                            |      |        |39|
|Irr  |Косвенная через РР пару                     |@RRp  |p=0,...,|1.|
|     |                                            |      |14      |41|
|IRR  |Косвенная через регистровую пару или РР пару|@Reg  |00H —FEH|1.|
|     |                                            |@RRp  |        |42|
|     |                                            |      |p=0,...,|  |
|     |                                            |      |14      |1.|
|     |                                            |      |        |41|
|X    |Индексная                                   |Reg(Rn|00H —FFH|1.|
|     |                                            |)     |        |43|
|DA   |Прямая                                      |Addrs |0H      |1.|
|     |                                            |      |—FFFFH  |44|
|RA   |Относительная                               |Addr  |-128-   |1.|
|     |                                            |      |+127    |45|
|IM   |Непосредственная                            |#Data |00H —FFH|1.|
|     |                                            |      |        |46|

                           1.3.2. Флаги процессора
Флаговый  регистр  FLAGS  (FCH)  содержит  информацию  о  текущем  состоянии
процессора. Флаги и  их  расположение  в  регистре  приведены  на  рис.1.47.
Состояние флагового регистра после сброса является неопределенным.
                       Рис. 1.47. Регистр флагов FLAGS
Флаговый регистр FLAGS содержит 6 флагов  состояния,  информация  в  которых
устанавливается в результате работы процессора. Четыре флага (C,  V,  Z,  S)
используются командами условного перехода. Два флага (H  и  D)  используются
командой десятичной коррекции. Оставшиеся два бита могут  быть  использованы
как флаги пользователя (F1  и  F2).  Ниже  подробно  рассмотрено  назначение
каждого из основных флагов МК Z8.
                    1.3.2.1. Флаг переноса C (Carry Flag)
Флаг  переноса  устанавливается  в  1,  если  в  результате   арифметической
операции  генерируется  “перенос  из”  или  “заем  в”   старший   7-ой   бит
результата. В противном случае флаг С очищается в 0.
В процессе выполнения команд циклического или  арифметического  сдвига  флаг
переноса С содержит  последний  бит,  выдвинутый  из  указанного  в  команде
регистра.
Команды могут устанавливать, сбрасывать или инвертировать  (дополнять)  флаг
переноса.
                      1.3.2.2. Флаг нуля Z (Zero Flag)
Если в результате арифметической или логической операции получается  нулевой
результат, то флаг  Z  устанавливается  в  1,  в  противном  случае  флаг  Z
очищается в 0.
Если результат команды проверки бита в  регистре  равен  00Н,0то  флаг  нуля
устанавливается в 1, в противном случае — очищается в 0.
Если результат выполнения команды циклического  или  арифметического  сдвига
равен 00Н, флаг Z устанавливается в 1, иначе —сбрасывается в 0.
                      1.3.2.3. Флаг знака S (Sign Flag)
Флаг знака хранит значение старшего бита результата  текущей  арифметической
или логической операции, операции циклического илиарифметического сдвига.
Для  производства  арифметических  операций  над  числами  со  знаком  в  МК
используется представление информации в дополнительном  коде.  Положительное
число  при   этом   идентифицируется   в   старшем   значащем   разряде   и,
соответственно, значение флага знака  также  равно  0.  Отрицательное  число
идентифицируется 1 в старшем значащем  разряде  и,  соответственно,  флаг  S
также будет равен 1.
                1.3.2.4. Флаг переполнения V (Overflow Flag)
Для   знаковых   арифметических   операций,    операций    циклического    и
арифметического сдвигов  флаг  переполнения  V  устанавливается  в  1,  если
результат больше максимально  возможного  положительного  числа  (+127)  или
меньше минимально возможного отрицательного числа (-128), представленного 8-
битным дополнительным кодом. Флаг V устанавливается в 0,  если  переполнение
отсутствует. В результате поразрядных  логических  операций  флаг  V  всегда
сбрасывается в 0.
         1.3.2.5. Флаг десятичной коррекции D (Decimal Adjust Flag)
Флаг десятичной коррекции D используется для  двоично-десятичной  арифметики
BCD  (Binary  Coded  Decimal).  Поскольку  алгоритм   десятичной   коррекции
различен  для  сложения  и  вычитания,  этот  флаг  сохраняет  информацию  о
последней выполненной команде, для последующей команды десятичной  коррекции
DA. После выполнения операциивычитания флаг D устанавливается в 1,  а  после
операции сложения —очищается в 0.
               1.3.2.6. Флаг полупереноса H (Half Carry Flag)
Флаг  полупереноса  H  устанавливается  в   1,   когда   при   сложениичисел
генерируется перенос из 3-его бита или при вычитании генерируется заем в  3-
ий бит. Флаг H используется командой десятичной коррекции DA.
Значения всех флагов изменяются командой IRET при  восстановлении  из  стека
состояния флагового регистра. Команды WDH и WDT устанавливают флаги Z,  S  и
V в неопределенное состояние. Команда SWAP  устанавливает  в  неопределенное
состояние флаги C и V.
                             1.3.3. Набор команд
Команды микроконтроллеров Z8 функционально могут быть разделены на восемь
групп:
— команды загрузки;
— арифметические команды;
— логические команды;
— команды управления программой;
— команды манипуляции битами;
— команды пересылки блоков;
— команды сдвигов;
— команды управления процессором.
                      1.3.3.1. Описание системы команд
В табл.1.8 приведено краткое описание системы команд микроконтроллеров,
причем для каждой команды дано мнемоническое обозначение, принятое в языке
ассемблера, указан состав операндов и смысл команды на английском языке (
для понимания происхождения мнемоники как аббревиатуры ) и на русском
языке. Аббревиатура “сс” в колонке операндов команд управления программой
означает код условия ( condition ), а аббревиатура “r”— любой регистр из
рабочей группы ( register ).
      Таблица 1.8. Краткое описание системы команд микроконтроллера Z8
|Мнемоник|Операнд|Наименование команды      |                           |
|а       |ы      |                          |                           |
|        |       |Английский язык           |Русский язык              
Пред.6789
скачать работу

Микроконтроллеры семейства Zilog Z86

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ