ВУЗ:
Составители:
68
содержит нуль (JZ), содержимое аккумулятора не равно нулю (JNZ),
перенос равен единице (JC), перенос равен ну-лю (JNC), адресуемый
бит равен единице (JB), адресуемый бит равен нулю (JNB).
Для организации программных циклов удобно пользоваться
командой DJNZ. В качестве счѐтчика циклов может использоваться не
только регистр, но и прямо-адресуемый байт (например, ячейка
резидентной памяти данных).
Команда CJNE эффективно используется в процедурах ожидания
какого-либо события. Например, команда
WAIT: CJNE A, P0, WAIT
будет выполняться до тех пор, пока на линиях порта 0 не установится
информация, совпадающая с содержимым аккумулятора.
Все команды данной группы, за исключением CJNE и JBC, не
оказывают воздействия на флаги. Команда CJNE устанавливает флаг C,
если первый операнд оказывается меньше второго. Команда JBC
сбрасывает флаг C в случае перехода.
8.6.6 Подпрограммы
Для обращения к подпрограммам необходимо использовать
команды вызова подпрограмм LCALL и ACALL. Эти команды в
отличие от команд перехода LJMP и AJMP сохраняют в стеке адрес
возврата в основную программу. Для возврата из подпрограммы
необходимо выполнить команду RET. Команда RETI отличается от
команды RET тем, что разрешает прерывания обслуженного уровня.
8.7 Операции с битами
Отличительной особенностью данной группы команд (см.
приложение 5) является то, что они оперируют с однобитными
операндами. В качестве таких операндов могут выступать отдельные
биты некоторых регистров специальных функций и портов, а также 128
программных флагов пользователя.
Существуют команды сброса (CLR), установки (SETB) и инверсии
(CPL) би-тов, а также конъюнкции и дизъюнкции бита и флага
переноса. Для адресации би-тов используется прямой
восьмиразрядный адрес (bit). Косвенная адресация битов невозможна.
Страницы
- « первая
- ‹ предыдущая
- …
- 66
- 67
- 68
- 69
- 70
- …
- следующая ›
- последняя »