Архитектура микроконтроллеров семейства MCS-51. Бояринов А.Е - 38 стр.

UptoLike

Составители: 

го перехода). Существует одна команда короткого безусловного перехода SJMP (Short). Все команды
условного перехода используют данный метод адресации. Относительный адрес перехода (rel) содер-
жится во втором байте команды.
SJMP <метка>
короткий переход ±127 байт
(PC): = (PC)+2;
(PC): = (PC)+(rel 8).
2.5.4 Косвенный переход
Команда JMP + DPTR позволяет передавать управление по косвенному адресу. Эта команда
удобна тем, что предоставляет возможность организации перехода по адресу, вычисляемому самой про-
граммой и неизвестному при написании исходного текста программы.
JMP @A + DPTR
(PC): = (A)[7÷0]+(DPTR[15÷0]).
П р и м е р: PC = 034Eh, A = 86h
DPTR = 0329h
JMP @A+ DPTR PC = 03Afh.
2.5.5 Условные переходы
Система условных переходов предоставляет возможность осуществлять ветвление по следующим
условиям: аккумулятор содержит нуль (JZ), содержимое аккумулятора не равно нулю (JNZ), перенос
равен единице (JC), перенос равен нулю (JNC), адресуемый бит равен единице (JB), адресуемый бит ра-
вен нулю (JNB).
Для организации программных циклов удобно пользоваться командой DJNZ. В качестве счетчика
циклов может использоваться не только регистр, но и прямоадресуемый байт (например, ячейка рези-
дентной памяти данных).
Команда CJNE эффективно используется в процедурах ожидания какого-либо события. Например,
команда
WAIT: CJNE A, P0, WAIT
будет выполняться до тех пор, пока на линиях порта 0 не установится информация, совпадающая с со-
держимым аккумулятора.
Все команды данной группы, за исключением CJNE и JBC, не оказывают воздействия на флаги.
Команда CJNE устанавливает флаг CY, если первый операнд оказывается меньше второго. Команда
JBC сбрасывает флаг CY в случае перехода.
JNB<bit>, <rel8>
переход, если бит не установлен
JNB P1.3, LAB.
JNC<rel8>
переход, если бит С не установлен
JNC LAB.