Типы команд

Выполняемые МК команды делятся на группы команд пересылки (≈13 команд), арифметических и логических операций (≈29 команд), управления программой и процессором (40), битовых операций и установки признаков и управления процессором (≈ 6 команд). Максимальный формат команд – 4 байта.

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

MOV #$С0, $D1- пересылка непосредственного операнда #$С0в прямо адресуемую ячейку памяти $D1;

STX $43,X;запомнить содержимое регистра Х в яч. памяти с адресом (Х)+67

 

Примеры команд арифметических и логических операций.

SBC $D0;(A)-(M)-(C)→A?

COMA; Логическая инверсия A, `A ® A

 

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

DBNZ $D3, rel8; Декремент M и ветвление, если M не равно 0,

;M-1®M, PC + 3 + rel8 ® PC, если Z=0.

BSR rel8; Ветвление к подпрограмме PC + 2 ® PC, PC + 2 + rel8 ® PC, PCl ® (SP), SP - 1 ® SP ; PCh ® (SP), SP – 1 ® SP.

Команды битового процессора.
SET 3, $35; установить бит 3 в ячейке (35) в 1
BCLR 3, $ 35; установить в 0 бит 3 в ячейке (35)

 

Команды управления процессором:

Sei; запрет прерываний,

Stop; переход в режим останова

ПРИМЕР ПРОГРАММЫ. Сложить два 16-разрядных числа без проверки разряда переполнения в старшем байте. Данные хранятся в ячейках памяти ОЗУ МК с адресами $40, $41 и $42, $43. Результат сложения должен быть помещен в память по адресам $50 и $51. Числа представлены в прямом двоичном коде без знака.

;*********************************************************

RomStart EQU $9000; назначается начальный адрес прикладной программы.

RAMStart EQU $0040 ;назначается адрес первой ячейки памяти ОЗУ МК.

VectorStart EQU $FFFE;назначает адрес для вектора начального запуска.