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

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

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

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

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

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

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

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

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

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

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

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

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  
ADD A, #data Прибавление константы к аккумулятору    
ADDC A,source Прибавление содержимого второго аргумента к аккумулятору с переносом 1,2  
ADDC A,#data Прибавление константы к аккумулятору с переносом    
SUBB A,source Вычитание второго аргумента из аккумулятора с заемом 1,2  
SUBB A,#data Вычитание константы из аккумулятора с заемом    
INC A Прибавление единицы к аккумулятору    
INC source Прибавление единицы к аргументу 1,2  
INC DPTR Прибавление единицы к 24 разрядному значению в области памяти на которое указывает адресный указатель DPTR    
DEC A Уменьшение на единицу значения аккумулятора    
DEC source Уменьшение на единицу значения аргумента 1,2  
MUL AB Перемножение значений находящихся в регистрах A и B и помещение результата в регистр A    
DIV AB Целочисленное деление A на B    
DA A Десятичная коррекция    
Команда Описание Количество байт в коде Время выполения
MOV A,source Помещение значения второго аргумента в аккумулятор 1,2  
MOV A,#data Помещение в аккумулятор числовой константы    
MOV dest,A Помещение значения аккумулятора в получатель 1,2  
MOV dest,source Помещение значения второго аргументя в получатель 1,2,3  
MOV dest,#data Помещение в получатель числовой константы 2,3 12,24
MOV DPTR,#data16 Помещение 16 разрядной константы по прямому адресу в пямяти    
MOVC A,@A+DPTR Помещение значения из области памяти программ в аккумулятор    
MOVC A,@A+PC Помещение значения из области памяти программ в аккумулятор    
MOVX A,@Ri Помещение значения из оперативной памяти в аккумулятор    
MOVX A,@DPTR Помещение значения из оперативной памяти в аккумулятор    
MOVX @Ri,A Помещение аккумулятора в оперативную память    
MOVX @DPTR,A Помещение аккумулятора в оперативную память    
PUSH direct Помещение регистров в стек    
POP direct Извлечение регистров из стека    
XCH A,source Обмен байтами 1,2  
XCHD A,@Ri Обмен младшими разрядами    

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: