ORL A, @ Rn (ORA M)
XRL A, @ RN (XRA M)
ANL A, # DATA (ANID8)
ORL A, # DATA (ORID8)
XRL A, # DATA (XRID8)
ANL Pp, # DATA; ANL BUS, # DATA; - маскирование регистров портов ввода/вывода,
ORL Pp, # DATA; ORL BUS, # DATA; - занесение единиц в разряды регистров портов ввода-вывода,
RRA (RRC); RLA (RLC); RRCA (RAR); RLCA (RAL); - циклический сдвиг,
ADD A, Rr (ADD R)
ADD A, Rr (ADC R)
ADD A, @ Rr (ADD M)
ADDC A, @ Rr (ADC M) - арифметические преобразования,
ADD A, # DATA (ADI D8)
ADDC A, # DATA (ACI D8)
CLRA (XRA A) (clear) - обнуление аккумулятора,
CPL A (CMA) - инверсия аккумулятора,
DA (DAA) - десятичная коррекция,
INC A (INR A)
INC Rr (INR R)
INC @ RN (INR M) инкремент/декремент
DEC A (DCR A)
DEC Rr (DCR R)
Сброс и инвертирование признаков:
CLR C (clear C) - сброс C,
CPL C (CMC) инверсия C,
CLR FO, CLR F1; CLL FO, CPL F1; - сброс и инверсия признаков программиста F0 или F1,
Выбор номера банка:
SEL MBO (select memory bank 0) - выбор нулевого банка программной памяти,
SEL MB1 - выбор первого банка программной памяти,
SEL RBO (select register bank 0) - выбор нулевого банка регистров,
SEL RB1 - выбор первого банка регистров.
Команды передачи управления. Служат для изменения естественного порядка следования команд и делятся на команды безусловного и условного перехода. Безусловный переход передает управление либо внутри выбранного банка, либо внутри текущей страницы программной памяти. В последнем случае адрес перехода ограничивается одним байтом.
JMP ADDRESS (JMP ADR16) - переход внутри банка, старшие разряды адреса перехода располагаются в старших разрядах кода операции ADR{10:8} = КОП {7:5},
JMPP @ А - (jump within page) — переход внутри текущей страницы по содержимому аккумулятора,
Условный переход организуется по ряду признаков:
Адрес перехода ограничивается одним байтом; переход осуществляется внутри текущей страницы.
Jcon ADDRESS (J-con ADR16).
C,NC,Z,NZ - аналогично МП580
F0, Fl - переход, если флаговый разряд установлен в "1",
ТО, NTO, T1, NT1, NI (noinerruption) - переход по единичному или нулевому уровню входных сигналов,
TF (timerflag) - переход, если произошло переполнение таймера,
ВЬ (b = 0+ 7) — переход, если b-й разряд аккумулятора установлен в "1". Номер разряда располагается в трех старших разрядах кода операции b {2:0}= КОП {7:5}.
Имеется комплексная команда, объединяющая команды декремента регистра номера r и условного перехода по признаку NZ
DJNZ Rr ADDRESS
Безусловный переход с возвратом (переход на подпрограмму) осуществляется внутри текущего банка программы. Для обеспечения возврата в стеке запоминается полный адрес команды возврата и старший полубайт PSW:
CALL ADDRESS (CALL ADR16) — старшие разряды адреса перехода располагаются в трех старших разрядах кода операции.
Возврат на основную команду происходит при выполнении одной из двух команд возврата (return):
RET (RET) — возврат из подпрограммы обслуживания прерываний без восстановления содержимого регистра состояний;
RETR — то же с восстановлением старшей тетради регистра состояний.
Вспомогательные команды:
ENI (ЕI); DIS (DI) - разрешение и запрет внешних прерываний ко входу;
EN TCNTI; DIS TCNTI; - разрешение и запрет внутренних прерываний к переполнению таймера счетчика;
STRT T (start timer/counter); STRT CNT; - запуск таймера и счетчика внешних событий по входу Т1;
STOP TCNT - останов таймера - счетчика событий;
NOP (NOP) - нет операции.
2.3. Особенности программирования однокристальных микроконтроллеров
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.