Конспект лекций по курсам "Проектирование центральных и периферийных устройств ЭВС", "Микропроцессоры и ЭВМ в микросистемах". Лукьяненко Е.Б. - 27 стр.

UptoLike

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

В результате выполнения команды, изменяющей содержимое счетчика команд
(команды перехода, вызова и возврата из подпрограммы), происходит разрыв в
работе конвейера и следствие - задержка выполнения программ мы на 2-4 машин-
ных цикла.
2.8. Команды микропроцессора
2.8.1. Команды типа «проверка/пропуск»
В командах этого типа производится проверка условия, результат которого
влияет на выполнение следующей команды. Если условие истинно (лог. 1), следу-
ющая команда игнорируется. Используется следующие основные команды:
Sbis ioreg,bit (Skip if Bit in I/O-Register in Set) пропуск следующей
команды, если установлен разряд в регистре ввода/вывода
Sbic ioreg,bit (Skip if Bit in I/O-Register is Cleared) - пропуск следую-
щей команды, если очищен разряд в регистре ввода/вывода
Sbrs reg,bit (Skip if Bit in register in Set) пропуск следующей ко-
манды, если установлен разряд в регистре reg.
Sbrc reg,bit (Skip if Bit in register is Cleared) пропуск следующей ко-
манды, если очищен разряд в регистре.
2.8.2. Команды условного перехода
В этих командах производится проверка условия, результат которой влияет на
состояние счетчика команд. Если условие истинно, происходит переход по задан-
ному адресу. Если же условие ложно, выполняется следующая команда.
Команды условного перехода имеют ограничение по области действия. Мак-
симальная величина перехода равна -63…+63 команды.
Brne label (Branch if Not Equal) – переход, если не равно. Проверяется
флаг нуля и переходит на метку label, если флаг сброшен, то есть не
ноль. Перед этой командой должна быть команда сравнения или ко-
манда вычитания.
Breq label (Branch if Equal) переход, если равно. Проверяет флаг
нуля и переходит на метку, если флаг установлен.
Brbs bit,label (Branch if Bit in SREG is set) переход, если установлен
разряд bit в регистре SREG/
Brbc bit,label (Branch if Bit in SREG is cleared) переход, если сбро-
шен бит в регистре SREG.
Brcc label (Branch if Carry is cleared) переход, если сброшен флаг
переноса.
Brcs label (Branch if Carry is set) переход, если установлен флаг
переноса.
27