Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Автоматизация / Автоматизация / Конспект_лекций_2005_у.doc
Скачиваний:
307
Добавлен:
29.03.2015
Размер:
3.3 Mб
Скачать

Система команд.

Система команд состоит из следующих групп:

Арифметические команды.

Команды пересылки данных.

Команды условного и безусловного перехода.

Логические операции.

Операции с битами данных.

Следует выделить отдельно команды управления аналого-цифровым и цифро-аналоговыми преобразователями и директивы компилятора.

Далее будет приведены таблицы команд с указанием необходимых аргументов, расшифровкой команды, объемом занимаемым в памяти микроконтроллера после компиляции и время выполнения в тактах.

Условные обозначения:

Rn – Регистр микроконтроллера R0-R7.

direct – внутренний адрес в пределах пользовательской оперативной памяти (00h – FFh)

@Ri – не прямая адресация на область памяти (используются регистры R0 и R1 микроконтроллера)

source, dest – любое из Rn, direct или @Ri. (source – при пересылке данных источник данных, dest – при перемещении данных место помещения результата)

#data – 8 разрядная константа.

#data16 – 16 разрядная константа.

bit - 8 битная прямая адресация на бит.

rel – 8 битный знаковый относительный адрес.

addr11 - 11 битный адрес в пределах текущей 2 Кбайтной страницы программы.

addr16 - 16 битный адрес программы.

DPTR – указатель на ячейку оперативной памяти.

Арифметические операторы.

Команда

Описание

Количество байт в коде

Время выполения

ADD A,source

Прибавление содержимого второго аргумента к аккумулятору

1,2

12

ADD A, #data

Прибавление константы к аккумулятору

2

12

ADDC A,source

Прибавление содержимого второго аргумента к аккумулятору с переносом

1,2

12

ADDC A,#data

Прибавление константы к аккумулятору с переносом

2

12

SUBB A,source

Вычитание второго аргумента из аккумулятора с заемом

1,2

12

SUBB A,#data

Вычитание константы из аккумулятора с заемом

2

12

INC A

Прибавление единицы к аккумулятору

1

12

INC source

Прибавление единицы к аргументу

1,2

12

INC DPTR

Прибавление единицы к 24 разрядному значению в области памяти на которое указывает адресный указатель DPTR

1

24

DEC A

Уменьшение на единицу значения аккумулятора

1

12

DEC source

Уменьшение на единицу значения аргумента

1,2

12

MUL AB

Перемножение значений находящихся в регистрах A и B и помещение результата в регистр A

1

48

DIV AB

Целочисленное деление A на B

1

48

DA A

Десятичная коррекция

1

12

Команды пересылки данных.

Команда

Описание

Количество байт в коде

Время выполения

MOV A,source

Помещение значения второго аргумента в аккумулятор

1,2

12

MOV A,#data

Помещение в аккумулятор числовой константы

2

12

MOV dest,A

Помещение значения аккумулятора в получатель

1,2

12

MOV dest,source

Помещение значения второго аргументя в получатель

1,2,3

24

MOV dest,#data

Помещение в получатель числовой константы

2,3

12,24

MOV DPTR,#data16

Помещение 16 разрядной константы по прямому адресу в пямяти

3

24

MOVC A,@A+DPTR

Помещение значения из области памяти программ в аккумулятор

1

24

MOVC A,@A+PC

Помещение значения из области памяти программ в аккумулятор

1

24

MOVX A,@Ri

Помещение значения из оперативной памяти в аккумулятор

1

24

MOVX A,@DPTR

Помещение значения из оперативной памяти в аккумулятор

1

24

MOVX @Ri,A

Помещение аккумулятора в оперативную память

1

24

MOVX @DPTR,A

Помещение аккумулятора в оперативную память

1

24

PUSH direct

Помещение регистров в стек

2

24

POP direct

Извлечение регистров из стека

2

24

XCH A,source

Обмен байтами

1,2

12

XCHD A,@Ri

Обмен младшими разрядами

1

12