ВУЗ:
Составители:
В результате выполнения команды, изменяющей содержимое счетчика команд
(команды перехода, вызова и возврата из подпрограммы), происходит разрыв в
работе конвейера и следствие - задержка выполнения программ мы на 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
Страницы
- « первая
- ‹ предыдущая
- …
- 25
- 26
- 27
- 28
- 29
- …
- следующая ›
- последняя »