Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
labramo-ar-log.doc
Скачиваний:
10
Добавлен:
10.02.2015
Размер:
253.95 Кб
Скачать

ФИЗИЧЕСКИЙ ФАКУЛЬТЕТ

КАЗАНСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА

Плеухова Л. Ф., ТаюрскаяГ. В.

Команды обработки данных и передачи управления для микроконтроллера mc68hc908gp32

Описание к лабораторной работе

Казань 2004

Печатается по решению Редакционно-издательского совета физического факультета

Удк 621.375(03)

Плеухова Л. Ф., Таюрская Г. В. Команды обработки данных и передачи управления для микроконтроллера MC68HC908GP32. Описание к лабораторной работе. Казань - 2004, 30 с.

Цель данной работы состоит в том, чтобы научить студентов применению арифметических, логических, битовых и других операций для обработки данных в системах, построенных на базе микроконтроллера MC68HC908GP32.

Пособие предназначается студентам, аспирантам и всем пользователям, занимающимся разработкой программ для систем, построенных на базе микроконтроллеров MC68HC908GP32 фирмы Motorola.

Рецензент: ассистент кафедры радиоастрономии Казанского государственного университета Теплов В. Ю. .

© Физический факультет Казанского государственного университета, 2004

ОГЛАВЛЕНИЕ

3

1. Команды арифметических операций 4

2. Команды логических операций 6

3. Команды сдвигов 6

4. Команды битовых операций 7

5. Команды управления программой и процессором 9

6. Маскирование данных и организация условных переходов 13

Упражнения 17

ВАРИАНТ 1 17

ВАРИАНТ 2 19

ВАРИАНТ 3 21

ВАРИАНТ 4 23

ВАРИАНТ 5 25

ВАРИАНТ 6 27

Список литературы: 30

1. Команды арифметических операций

Команды арифметических операций (табл.1) выполняют соответствующие действия над операндами, один из которых располагается в аккумуляторе A, где размещается затем результат. При операциях сложения и вычитания с учетом и без учета признака переноса C (команды ADC, ADD, SBC, SUB) второй операнд M адресуется любым способом, кроме относительного и индексного с постинкрементом. Команда двоично-десятичной коррекции DAA выполняется после команды ADD для получения правильного результата, если в качестве слагаемых использовались двоично-десятичные числа (две тетрады представляют два десятичных разряда числа).

Команда умножения MUL выполняется над 8-разрядными операндами без знака, расположенными в регистрах A, X, 16-разрядное произведение X:A размещается в этих же регистрах (старший байт в X, младший байт в A). Команда деления DIV использует в качестве делимого 16-разрядный операнд H:A (старший байт в H, младший байт в A), делитель находится в регистре X. Полученное 8-разрядное частное размещается в аккумуляторе, остаток – в регистре H.

При операциях инкремента, декремента (команды INC, INCA, INCX, DEC, DECA, DECX) и изменения знака (команды NEG, NEGA, NEGX) используются следующие способы адресации: индексная, индексная по указателю стека с 8-разрядным смещением или прямая с 8-разрядным адресом.

Команды AIX, AIS позволяют корректировать значение адреса, размещенного а регистрах H:X или SP, путем сложения их содержимого с 8-разрядной константой, которая задается в виде непосредственного операнда Im. Этот операнд является числом со знаком (представляется в дополнительном коде).

Команды сравнения CMP, CPX выполняют вычитание операндов без записи результата, но с установкой значений признаков V, N, Z, C в соответствии с полученным результатом. Эти команды используют все возможные способы адресации операнда, кроме относительного и индексного с постинкрементом. Команда CPHX производит сравнение 16-разрядных операндов, одним из которых является содержимое индексного регистра H:X, а вторым – непосредственно заданный в команде двухбайтовый операнд Im или содержимое двух рядом расположенных ячеек памяти M:M+1. В последнем случае команда CPHX использует 8-разрядную прямую адресацию.

Таблица 1. Команды арифметических и логических операций, сравнения и тестирования

Мнемокод

Команда

Операция

ADD (opr)

Сложение

A + M  A

ADC (opr)

Сложение с переносом

A + M + С  A

SUB (opr)

Вычитание

A - M  A

SBC (opr)

Вычитание с заемом

A - M - С  A

MUL

Беззнаковое умножение

A * X  X : A

DIV

Беззнаковое деление

H:A / X -> A, остаток -> H

DAA

Двоично-десятичная коррекция результата сложения

INC (opr)

Инкремент M

M + 1  M

INCA

Инкремент A

A + 1  A

INCX

Инкремент X

X + 1  X

DEC (opr)

Декремент M

M - 1  M

DECA

Декремент A

A - 1  A

DECX

Декремент X

X - 1  X

NEG (opr)

Изменение знака M

0 - M  M

NEGA

Изменение знака A

0 - A  A

NEGX

Изменение знака X

0 - X  X

AIX #Im

Сложение H:X с константой

H:X + Im -> H:X

AIS #Im

Сложение SP с константой

SP + Im -> SP

CMP (opr)

Сравнение A с M

A – M, установка V,N,Z,C

CPX (opr)

Сравнение X с M

X - M, установка V,N,Z,C

CPHX (opr)

Сравнение H:X c M:M+1

H:X – M:M+1, установка V,N,Z,C

TST (opr)

Тестирование M

M - 0, установка N,Z

TSTA

Тестирование A

A – 0, установка N,Z

TSTX

Тестирование X

X – 0, установка N,Z

AND (opr)

Логическое И

A  M  A

ORA (opr)

Логическое ИЛИ

A  M  A

EOR (opr)

Исключающее ИЛИ

A  M A

COM (opr)

Логическая инверсия M

M  M

COMA

Логическая инверсия A

A  A

COMX

Логическая инверсия X

X  X

BIT (opr)

Битовое тестирование

A  M, установка N,Z

Команды тестирования TST, TSTA, TSTX устанавливают признаки N, Z в соответствии со значением выбираемого операнда. В команде TST можно использовать индексную, индексную по указателю стека с 8-разрядным смещением или прямую адресацию с 8-разрядным адресом.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]