Типы команд
Выполняемые МК команды делятся на группы команд пересылки (≈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;назначает адрес для вектора начального запуска.