Смекни!
smekni.com

Motorola MC68HC705C8 (стр. 6 из 12)

BEQ, BNE, BPL и BMI.

N R7

Устанавливается, если старший бит результата установлен, иначе сбрасывается.

Z R7\*R6\*R5\*R4\*R3\*R2\*R1\*R0\

Устанавливается, если все биты результата сброшены. Иначе сбрасывается.

COMДополнение.

AC(AC\)=$FF-(AC) или M(M\)=$FF-(M) или XX\=$FF-(X)

Содержимое аккумулятора, индексного регистра или ячейки памяти заменяется на его дополнение до 1. Каждый бит заменяется на его дополнение, то есть инвертируется.

N R7

Устанавливается, если старший бит результата установлен, иначе сбрасывается.

Z R7\*R6\*R5\*R4\*R3\*R2\*R1\*R0\

Устанавливается, если все биты результата сброшены. Иначе сбрасывается.

C 1

Устанавливается

NEGДополнение до двух (инверсия знака).

AC(AC) или M(M) или XX

Содержимое аккумулятора, индексного регистра или ячейки памяти заменяется на его дополнение до 2. Заметим, что величина $80 не изменяется.

N R7

Устанавливается, если старший бит результата установлен, иначе сбрасывается.

Z R7\*R6\*R5\*R4\*R3\*R2\*R1\*R0\

Устанавливается, если все биты результата сброшены. Иначе сбрасывается.

C R7+R6+R5+R3+R2+R1+R0

Устанавливается во всех случаях за исключением числа $00.

ROLЦиклический сдвиг влево через флаг переноса

Cb7-...-b0C

Все биты аккумулятора, индексного регистра или ячейки памяти сдвигаются влево. Бит 0 загружается содержимым бита С. Бит C загружается содержимым старшего бита аккумулятора, индексного регистра или ячейки памяти.

N R7

Устанавливается, если старший бит результата установлен, иначе сбрасывается.

Z R7\*R6\*R5\*R4\*R3\*R2\*R1\*R0\

Устанавливается, если все биты результата сброшены. Иначе сбрасывается.

C b7

Устанавливается, если перед сдвигом был установлен старший бит, иначе сбрасывается.

RORЦиклический сдвиг вправо через флаг переноса

Cb7-...-b0C

Все биты аккумулятора, индексного регистра или ячейки памяти сдвигаются вправо. Бит 7 загружается содержимым бита С. Бит C загружается содержимым младшего бита аккумулятора, индексного регистра или ячейки памяти.

N R7

Устанавливается, если старший бит результата установлен, иначе сбрасывается.

Z R7\*R6\*R5\*R4\*R3\*R2\*R1\*R0\

Устанавливается, если все биты результата сброшены. Иначе сбрасывается.

C b0

Устанавливается, если перед сдвигом был установлен младший бит, иначе сбрасывается.

LSLЛогический сдвиг влево

Cb7-...-b00

Все биты аккумулятора, индексного регистра или ячейки памяти сдвигаются влево. Бит 0 загружается нулем. Бит C загружается содержимым старшего бита аккумулятора, индексного регистра или ячейки памяти.

N R7

Устанавливается, если старший бит результата установлен, иначе сбрасывается.

Z R7\*R6\*R5\*R4\*R3\*R2\*R1\*R0\

Устанавливается, если все биты результата сброшены. Иначе сбрасывается.

C b7

Устанавливается, если перед сдвигом был установлен старший бит, иначе сбрасывается.

LSRЛогический сдвиг вправо.

0b7-...-b0C

Все биты аккумулятора, индексного регистра или ячейки памяти сдвигаются вправо. Бит 7 загружается нулем. Бит C загружается содержимым младшего бита аккумулятора, индексного регистра или ячейки памяти.

N R7

Устанавливается, если старший бит результата установлен, иначе сбрасывается.

Z R7\*R6\*R5\*R4\*R3\*R2\*R1\*R0\

Устанавливается, если все биты результата сброшены. Иначе сбрасывается.

C b0

Устанавливается, если перед сдвигом был установлен младший бит, иначе сбрасывается.

ASRАрифметический сдвиг вправо

b7-...-b0C

Все биты аккумулятора, индексного регистра или ячейки памяти сдвигаются влево. Бит 7 остается неизменным. Бит C загружается содержимым младшего бита аккумулятора, индексного регистра или ячейки памяти.

N R7

Устанавливается, если старший бит результата установлен, иначе сбрасывается.

Z R7\*R6\*R5\*R4\*R3\*R2\*R1\*R0\

Устанавливается, если все биты результата сброшены. Иначе сбрасывается.

C b0

Устанавливается, если перед сдвигом был установлен младший бит, иначе сбрасывается.

TSTПроверка на отрицательность и равенство нулю

(AC)-$00 или (X)-$00 или (M)-$00

Установить биты N и Z в регистре признаков в соответствии с содержимым аккумулятора, индексного регистра или ячейки памяти. Содержимое аккумулятора, индексного регистра или ячейки памяти не изменяется.

N R7

Устанавливается, если старший бит результата установлен, иначе сбрасывается.

Z R7\*R6\*R5\*R4\*R3\*R2\*R1\*R0\

Устанавливается, если все биты результата сброшены. Иначе сбрасывается.

BSET n (n=0...7) Установить бит n

Mn=1

Устанавливается в 1 бит n (n=7,6,5,4,3,2,1,0) ячейки памяти M, другие биты не изменяются. Ячейкой памяти может быть ОЗУ или I/O регистр от адреса $0000 до $00FF (то есть используется прямая адресация).

Регистр признаков не изменяется.

BCLR n (n=0...7) Сбросить бит n

Mn=0

Сбрасывается бит n (n=7,6,5,4,3,2,1,0) ячейки памяти M, другие биты не изменяются. Ячейкой памяти может быть ОЗУ или I/O регистр от адреса $0000 до $00FF (то есть используется прямая адресация).

Регистр признаков не изменяется.

SECУстановить флаг переноса

C бит 1

Установить бит C регистра признаков. Команда SEC может применятся для предустановки бита C перед использованием команд сдвига.

Флаг C устанавливается в 1.

CLCСбросить флаг переноса

C бит 0

Сбрасывается бит C регистра признаков. Команда SEC может применятся для предустановки бита C перед использованием команд сдвига.

Флаг C сбрасывается.

SEIУстановить флаг маскирования прерываний.

I бит1

Устанавливается бит маскирования прерываний в регистре признаков. Когда бит C установлен, прерывания запрещены.

Флаг I устанавливается.

CLIСбросить флаг маскирования прерываний

I бит0

Сбрасывается бит маскирования прерываний в регистре признаков. Когда бит C сброшен, прерывания разрешены. На очистку бита требуется задержка на один цикл, таким образом, если прерывания до выполнения команды CLI были запрещены, то следующая за CLI команда всегда выполняется.

Флаг I сбрасывается.

Прочие команды.

NOP Нет операции

Эта однобайтная команда вызывает только увеличение программного счетчика на единицу. Другие регистры не изменяются.

STOPОстанов

Выполнение команды приводит к уменьшению энергопотребления.

1) Сбрасывается предделитель таймера;

2) запрещаются прерывания от таймера;

3) сбрасывается флаг прерывания от таймера;

4) разрешаются внешние прерывания;

5) останавливается тактовый генератор.

Когда поступает внешний сигнал RESET\ или IRQ\, включается тактовый генератор, после задержки на инициализацию, которая длится 1920 циклов процессора, защелкиваются вектор прерывания и вектор начальной установки, и запускается на выполнение процедура обработки RESET или IRQ, в зависимости от поданного сигнала.

Флаг I сбрасывается.

Более подробно о режиме STOP см. раздел "Специальные режимы работы".

WAITОжидание

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

Когда поступает внешний сигнал RESET\, IRQ\ или прерывания от встроенной периферии, включается цепи синхронизации процессора, защелкиваются вектор прерывания и вектор начальной установки, и запускается на выполнение процедура, взвисимости от поданного сигнала.

Более подробно о режиме WAIT см. раздел "Специальные режимы работы".

2. Аппаратные средства

2.1 Линии (порты) параллельного ввода-вывода.

МС68НС705С8 содержит 31 линию ввода-вывода общего назначения, объединенные в 4 порта. Порты А, В и С представляют собой 8-битные порты общего назначения, в которых направление работы каждой линии задается через программно-доступные регистры, порт D является 7-битным портом, настроенным только на ввод данных, кроме того, линии порта D могут выполнять некоторые специальные функции. Подробнее про порт D смотрите п. 2.4. Каждый 8-битный порт имеет соответствующий 8-битный регистр направления данных (DDR), как показано на рис. 5, а так же регистр данных (DR), в который помещаются данные при передаче, или из которого они читаются при приеме.

Каждый из трех портов - A, B, или C можно представить схематически следующим образом:

Бит 7 6 5 4 3 2 1 Бит 0
DDR7 DDR6 DDR5 DDR4 DDR3 DDR2 DDR1 DDR0 DDR
0 0 0 0 0 0 0 0 После RESET
Порт (DR)
Регистр порта не изменяется после RESET.

P7 P6 P5 P4 P3 P2 P1 P0 Контакты

Рис. 2-1 Схема порта ввода/вывода.

Канал настроен на вывод информации, если соответствующий бит в DDR установлен в 1. Если бит сброшен, то канал настроен на ввод (так предусмотрено при начальной установке). То есть разные каналы одного и того же порта могут быть настроены на ввод или вывод информации одновременно независимо друг от друга. На рис. 2-2 представлена структура канала параллельного порта, а в таблице 2-1 приведены различные режимы работы линии ввода-вывода.

Таблица 2-1. Функции контактов ввода-вывода.

R/W* DDR Функция
0 0 Режим ввода. Данные записываются в выходную защелку
0 1 Данные записываются в выходную защелку и передаются на контакт.
1 0 Читается состояние контакта
1 1 Контакт в режиме вывода. Читаются данные из защелки.

*R/W - внутренний сигнал, указывающий на чтение/запись данных.