Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LH05-3N.DOC
Скачиваний:
22
Добавлен:
11.03.2015
Размер:
100.86 Кб
Скачать

Микроконтроллер МС68HC705K1, лабораторная работа 3 17

1. Теоретическая часть.

В данной работе изучаются:

· группа команд арифметических операций;

· группа команд логических операций.

1.1.Группа команд арифметических операций

Данную группу образуют 47 команд, выполняющие операции сложения, вычитания, инкремента и декремента байтов, сравнения байтов, целочисленного беззнакового умножения. Типы инструкций данной группы приведены в табл.1.

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

Мнемокод

Выполняемое действие

ФЛАГИ

Полное

H

I

N

Z

C

название

ADD

ADD #opr

ADD opr ; opr=adr8

ADD opr ;opr=adr16

ADD ,x

ADD opr,x ;opr=adr8

ADD opr,x ;opr=adr16

Сложить содержимое А с байтом данных из памяти и результат поместить в А.

{A <--- (A) + (M)}

­

-

­

­

­

Add Memory Byte with Accumulator

ADC

ADC #opr

ADC opr ; opr=adr8

ADC opr ;opr=adr16

ADC ,x

ADC opr,x ;opr=adr8

ADC opr,x ;opr=adr16

Сложить содержимое А с байтом данных из памяти и значением бита переноса С. Результат поместить

в А.

{A <--- (A) +(M) + C}

­

-

­

­

­

Add Memory Byte and Carry Bit to Accumulator

SUB

SUB #opr

SUB opr ; opr=adr8

SUB opr ;opr=adr16

SUB ,x

SUB opr,x ;opr=adr8

SUB opr,x ;opr=adr16

Вычесть байт данных памяти из содержимого аккумулятора А. Результат поместить в А

{A <--- (A) - (M)}

­

-

­

­

­

Subtract Memory Byte from Accumulator

SBC

SBC #opr

SBC opr ; opr=adr8

SBC opr ;opr=adr16

SBC ,x

SBC opr,x ;opr=adr8

SBC opr,x ;opr=adr16

Вычесть байт данных памяти и бит переноса из содержимого аккумулятора А. Результат в А.

{A <--- (A) - (M) - (C)}

­

-

­

­

­

Subtract Memory Byte and Carry Bit from Accumulator

MUL

MUL

Умножить содержимое А на содержимое индексного регистра. Произведение представлено в двухбайтовом формате, причем А содержит младший байт.

{X : A <--- (A) * (X)}

0

-

-

-

0

Multiply

CMP

CMP #opr

CMP opr ; opr=adr8

CMP opr ;opr=adr16

CMP ,x

CMP opr,x ;opr=adr8

CMP opr,x ;opr=adr16

Сравнить содержимое А с байтом памяти. По результату сравнения установить признаки C, Z, N. Содержимое А и байта памяти после операции не изменяется

{(А) - (M)}

-

-

­

­

­

Compare Accumulator with Memory Byte

CPX

CPX #opr

CPX opr ; opr=adr8

CPX opr ;opr=adr16

CPX ,x

CPX opr,x ;opr=adr8

CPX opr,x ;opr=adr16

Сравнить содержимое индексного регистра Х с байтом памяти. По результату сравнения установить признаки C, Z, N. Содержимое Х и байта памяти после операции не изменяется

{(X) - (M)}

-

-

­

­

­

Compare Index Register with Memory Byte

INC

INCA

INCX

INC opr ;opr=adr8

INC ,x

INC opr,x ;opr=adr8

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

{A <--- (A) + 1}

{X <--- (X) + 1}

{M <--- (M) +1}

-

-

­

­

-

Increment

DEC

DECA

DECX

DEC opr ;opr=adr8

DEC ,x

DEC opr,x ;opr=adr8

Вычесть 1 из содержимого А, индексного регистра Х или ячейки памяти М. Результат поместить в исходное место.

{A <--- (A) - 1}

{X <--- (X) - 1}

{M <--- (M) -1}

-

-

­

­

-

Decrement

Все команды арифметических операций, в том числе INC и DEC, модифицируют отдельные флаги в регистре признаков CCR.

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