104 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Команда безусловного перехода относится к какой операции. Команды передачи управления. Вопросы для самопроверки

Команды условного и безусловного перехода

Команды микропроцессора.

Теперь остановимся подробнее на выполняемых командах. Весь набор команд любого микропроцессора можно разделить на несколько групп.

Первая группа —это команды перемещения данных.Повинуясь этим командам, процессор копирует содержимое одной ячейки памяти в другую, копирует информацию из ячейки памяти в один из внутренних регистров либо, наоборот, копирует содержимое регистра в одну из ячеек памяти. Кроме того, данные могут копироваться из одного внутреннего регистра в другой.

Следует заметить, что так называемые команды перемещения, по сути, не перемещают данные из ячейки в ячейку, а копируют эти данные. Операция перемещения в цифровой технике бессмысленна. В общепри­нятом понимании переместить означает убрать из одного места и поме­стить в другое. Но убрать данные из ячейки памяти невозможно!

Любой бит любой ячейки памяти всегда равен либо нулю, либо единице. То есть всегда содержит какое-либо число. Поэтому команды перемещения считывают байт данных из ячейки-источника и записывают их в ячейку-приемник. При этом в ячейке-источнике данные не изменяются.

Ко второйгруппе относятся команды преобразования данных.Именно в эту группу входят команды сложения, вычитания, логических преобразований, сдвига разрядов и т. д.

К третьей группе относятся команды передачи управления.Вот об этом классе команд я хотел бы поговорить подробнее. Сложно пред­ставить себе программу, состоящую лишь из одной последовательной цепочки команд. Подавляющее число алгоритмов требуют разветвления программы. Это значит, что программа должна уметь выполнять разные последовательности действий в зависимости от некоторого условия.

Пример.

Допустим, что наше микропроцессорное устройство имеет кнопки управления. При нажатии каждой кнопки должно выполняться свое определенное действие. Например, при нажатии одной кнопки исполнительный механизм должен повернуться влево. При нажа­тии другойповернуться вправо и т. п. Для того, чтобы это было возможно, программа периодически считывает состояние кнопок. Затем программа должна оценить их состояние. Если нажата первая кнопка, выполняется некая последовательность команд, выдающая на соответствующий порт код, приводящий к включению двигателя в прямом направлении. Если нажата вторая кнопка, то выполняется другая последовательность команд, выдающая в тот же порт совсем другой код. Этот код должен вызвать включение двигателя в реверсном направлении.

Очевидно, что для реализации данного алгоритма придется прервать последовательное выполнение команд. Для того, чтобы программа имела возможность менять алгоритм своей работы в зависимости от какого-либо условия, в системе команд любого процессора обязательно имеются команды передачи управления. К командам передачи управления отно­сятся следующие виды команд: команды условного перехода; команды безусловного перехода; команды перехода к подпрограмме; команды организации цикла. Рассмотрим все эти виды команд по порядку.

Команды условного и безусловного перехода

Оба этих вида команд предназначены для того, чтобы прерывать после­довательное выполнение программы и вызывать так называемый переход.Причем условный переход происходит только при соблюдении какого-либо условия. Безусловный переход выполняется всегда, как только программа встретит соответствующую команду. В качестве условий перехода может выступать одно из следующих логических выражений:

♦ величина А равна величине В;

♦ величина А не равна величине В;

♦ величина А меньше величины В;

♦ величина А больше величины В;

♦ величина А меньше или равна величине В;

♦ величина А больше или равна величине В.

В качестве величин для сравнения может выступать содержимое любых внутренних регистров процессора, содержимое любых ячеек памяти или просто константы.

Пример.

Рассмотрим пример применения условного и безусловного переходов. Для наглядности изобразим цепочку команд в программной памяти в виде последовательности графических элементов (см. рис. 2.2). Ход выполнения программы показан при помощи стрелок. Квадратиками обозначены обычные команды (команды перемещения и команды пре­образования данных). Кружочек с вопросомэто команда условного перехода. Скругленный элементе восклицательным знакомэто безусловный переход. Такая программа имеет две ветви. В случае, если условие есть ложь, выполняется ветвь номер 1. В случае, если условиеистина, выполняется ветвь номер 2.

Читать еще:  Как быстро можно сжечь калории. Сколько калорий сжигают прыжки. Подключаем домашние тренажеры

Допустим, что условный переход производит сравнение кода нажатой клавиши с некоторой константой. Тогда действие, выполняемое услов­ным оператором, можно записать так: «Если код нажатой клавиши равен 0, перейти к выполнению ветви номер 2». Соответственно, в случае невы­полнения условия (например, считанное число равно 1), программа про­должит свою работу в обычном режиме и перейдет, таким образом, к выполнению ветви номер 1.

В конце ветви номер 1 стоит оператор безусловного перехода. Он слу­жит для того, чтобы программа не начала выполнять ветвь номер 2 сразу после выполнения ветви номер 1. В данном случае выполнение перехода обязательно и никакого условия не требуется.

Технически переход выполняется путем записи в регистр адреса нового значения. Изменение значения регистра адреса возможно только при помощи команд передачи управления.

Операция Безусловного перехода

Операция безусловного перехода(БП) относится к операциям безусловной передачи управления и заключается в следующем. В начале операции содержимое СчК, указывающее на команду, которая следует за БП(адрес возврата), пересылается в Р1 АУ в случае, если в программе предусмотрен возврат; это позволяет сохранить адрес возврата путем дальнейшей пересылки содержимого Р1( например, операцией ЗГ) в память. Для этого в первых командах участка пограммы, к которому выполнен переход, должна быть предусмотрена соответствующая операция. На следующем этапе операции из ячейки ОЗУ или ПЗУ с адресом, указанном в команде БП, в СчК считывается содержимое 1-14 разрядов, которое является адресом перехода. По данному адресу далее делается обращение в ПЗУ за командой, к которой осуществляется переход.

Операция сдвига

В формате сдвига(ФСД) кодируются операции «Сдвиг арифметический правый(левый)» «Сдвиг логический правый(левый)». При их выполнении действия производятся над числом, находящимся в АУ. Признаками в команде задаются: направление сдвига(5 р), типы сдвигов(8,9 р) и их количество (1-4 р). В процессе выполнения операции сдвигаются разряды регистра Р2, результат фиксируется в регистрах Р2 и РСм, причем сдвиг вправо осуществляется на 3 разряда одновременно, сдвиг влево- на 1 разряд. Значение 5 разряда, равное «1» определяет сдвиг влево, равное «0» -вправо.

Операции являются циклическими. Количество циклов сдвига подсчитывается счетчиком циклов (СчЦ). Перед выполнением циклической части операции в СчЦ пересылается содержимое 1-5 разрядов команды, содержащей константу и знак сдвига. Далее содержимое Р2 пересылается в РСм. Сам сдвиг осуществляется за счет «косой» переписи содержимого регистров Р2 и Рсм в Р2’ и Рсм’ соответственно. Затем результат сдвига из РСм’ и Р2’ через СМ1 и СМ2 переписывается в Р2 и РСМ. Об окончании операции свидетельствует значение СчЦ =0.

В зависимости от типа сдвига(Л или А) сдвигаются либо все 16 разрядов(Л) либо только 15 разрядов(мантисса) без знакового(А). При А сдвиге вправо освободившиеся старшие разряды заполняются знаком, а при сдвиге влево освободившиеся младшие разряды заполняются нулями. При логическом сдвиге вправо или влево освободившиеся разряды заполняются нулями.

Так же можно программно изменять константу сдвигов.

32 Взаимодействие узлов и элементов структурной схемы процессора СВ при выполнении операций условного перехода.

Операции условного перехода

Выполнение операции начинается с проверки выполнимости условия перехода путем сравнивания значения признака результата предыдущей операции с кодом «маски» в команде. Если условие выполнено, то происходит переход к исполнению команды, адрес которой находится в адресно-операндной части формата ФУП. Если же условие перехода не выполняется, то исполняется команда, следующая в программе за командой «Условный переход».

Команда «Условный переход»(УП) занимает две рядом расположенные ячейки ПЗУ. В первой ячейке содержится команда, во второй адрес перехода. Условный переход определяется комбинацией в 7-9 разрядах команды, условие размещения адреса возврата определяется 6 разрядом.

При выполнении условия адрес перехода заносится в счетчик команд, следовательно код очередной команды будет считан из ячейки с этим адресам. Адрес возврата заносится в Р1, если 6 разряд равен 0 и в Рсм, если значение данного разряда равно единице.

Читать еще:  Упражнения для повышения выносливости сердца. Тренировка сердца и сосудов. Комплекс упражнений и рекомендации профессионалов. Полезная и вредная гипертрофия сердца

При невыполнении условия перехода следующая команда выбирается из ячейки с кодом адреса i+2. В данном случае указанный код(адрес возврата) заносится в Р1 независимо от значения 6 разряда команды. Последнее определяется алгоритмом работы процессора СВ при расшифровке кода операции УП.

Занесение адреса возврата на РСМ связано с тем, что выход в кодувую шину из АУ имеет только указанный регистр.

Особенностью выполнения операции УП является то, что при наличии в разрядах «маски» команды кода 111 или 000 условный переход вырождается в безусловный или операцию засылки в базовые регистры соответственно. В этих случаях адресам перехода или адресом засылки в базовые регистры является содержимое адресно-операндной части команды(АОЧ).

При выполнении операции засылки в БР содержимое АОЧ пересылается в один или сразу несколько БР в зависимости от содержимого 15-17 разрядов команды. Адрес возврата в данном случае в Р1 и Рсм не пересылается.

Выполнение операции УП как операции БУП может быть использовано в прерываниях для перехода к прерывающим программам. Для этого в 5 разряде команды выставляется признак напрограммированного перехода(ПНП). В этом случае команда считывается в процессор из ПЗУ по сигналу прерывания (НПП). При этом адрес обращения в ПЗУ(адрес прерывания) вырабатывается схемой прерывания процессора.

Особенностью выполнения операции в этом случае является то, что адресом возврата при прерываниях является не адрес команды, следующей за командой в формате ФУП, а адрес команды, перед которой произошло прерывание. Обработка сигнала НПП происходит следующим образом. По этому сигналу схема прерывания процессора вырабатывает адрес прерывания(АПр), равный адресу первой ячейки команды перехода в формате ФУП(i). Этот адрес через коммутатор и регистр адреса ПЗУ передается в память. Адреса прерываний подобраны таким образом, что адрес первой ячейки команды УП(i) является четным, а адрес второй ячейки (i+1) – нечетным. Второй адрес получается путем изменения (аппаратурно) младшего разряда без участия СчК с нуля на единицу. В процессе считывания команды из ПЗУ и ее выполнения содержимое СчК (K+1) запоминается в регистре Р1 АУ, а содержимое второй ячейки команды (i+1), являющееся адресом перехода к команде с адресом j заносится в СчК. По новому содержимому СчК делается обращение в ПЗУ. Таким образом, в регистре Р1 запоминается адрес следующей команды на момент прерывания(K+1). После отработки прерывания этот адрес используется для возврата к прерванной программе.

33 Взаимодействие узлов и элементов структурной схемы процессора СВ при выполнении операций управления процессором и системой.

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого.

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ – конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой.

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим.

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций.

Команды безусловного перехода

По прямому адресу

JMP @, где @ – двухбайтовый адрес (@ ® PC).

По косвенному адресу

PCHL – адрес перехода хранится в регистровой паре HL. При ее выполнении (HL) → PC.

Команды условного перехода

Jcon @, где con – мнемоника условия от английского слова condition.

Ранее отмечалось, что в качестве условия перехода используют состояние разрядов (флажков) РгП (F). Мнемоника, соответствующая этим состояниям, представлена на рис. 6.18.

Например: JC 8BFE – при C=1 переход по адресу 8BFE, при C=0 выполняется следующая по адресу команда.

Команды вызова ПП и возврата

Ранее отмечалось, что адрес возврата автоматически сохраняется в стеке, т.е. (PC) ® стек.

Читать еще:  Что за вид спорта армрестлинг. История возникновения армрестлинга. Правила и тактика борьбы. Упражнения для армрестлинга

CALL @ – вызов подпрограммы;

RET – возврат из подпрограммы.

Ccon @ – вызов подпрограммы;

Rcon – возврат из подпрограммы.

Действие команд аналогично действию команд условного перехода, т.е. если условие истинно, то вызов или возврат. Если нет, то выполняются следующие команды.

Прочие команды управления

RST n, где n = 0,1. 7 – рестарт по вектору прерывания n.

При выполнении этой команды происходит передача управления подпрограмме, обслуживающей данное прерывание. В процессе выполнения команды RST содержимое счетчика команд PC запоминается в стеке, а в PC записывается адрес соответствующего вектора прерывания.

Этот адрес задается следующим образом. Команда RST имеет структуру 11NN N111, т.е. один байт. Трехразрядная комбинация NNN задается значением n (n = 0. 7). В счетчик команд РС заносится значение 0000 0000 00NN N000, которое служит адресом соответствующего вектора прерывания.

Таким образом, задавая определенное значение n, можно сформировать адрес одного из 8- векторов прерывания. Эти адреса располагаются в зоне от 0000H до 0038H адресного пространства и идут через 8 байт, т.е. под них зарезервированы первые 64 ячейки памяти (каждому из 8- векторов отведено по 8 байт). В этих зонах (по 8 байт) записывают только команды перехода к соответствующим подпрограммам (обработчикам), которые располагаются в других областях памяти.

Прерывающие подпрограммы (как и обычные подпрограммы) обязательно заканчиваются командой RET. В процессе выполнения этой команды адрес команды основной программы, перед которой произошло прерывание, выбирается из стека и передается в регистр адреса РА, а увеличенное на 1 значение заносится в счетчик команд.

EI – разрешение прерывания. Эта команда ставится в начале участка программы, на котором разрешено прерывание. По этой команде триггер разрешения прерывания в УУ МП устанавливается в состояние 1.

DI – запрещение прерывания. Эта команда ставится в конце участка программы, на котором разрешалось прерывание, и сбрасывает триггер в состояние 0.

NOP – “пустая” команда. Осуществляет пропуск 4- тактов. Изменяется только PC.

HLT – останов. Вызывает прекращение выполнения программы и переход в состояние останова. МП отключается от внешних шин адреса и данных (т.е. их буферы переходят в состояние Z). На выходе WAIT (ожидание) устанавливается уровень 1. Это состояние может быть прервано сигналами запуска МП либо переводом его в состояние прерывания.

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ

1. Какие устройства необходимы для создания простейшей микро-ЭВМ?

2. Перечислите 5 вариантов структур микро-ЭВМ.

3. Использование промежуточного интерфейса.

4. Что включает в себя понятие “контроллер ПУ”?

5. Перечислите характеристики процессора I8080.

6. Регистры данных. Их назначение.

7. Регистры признаков. Какие признаки хранятся в этих регистрах?

8. Опишите принцип двунаправленного обмена данными между внутренней и внешней ШД.

9. Какими регистрами программист может пользоваться?

10. Приведите структурную схему микро-ЭВМ на базе МП КР580ВМ80.

11. Из каких тактов состоит машинный цикл?

12. Перечислите форматы данных МП КР580ВМ80.

13. Перечислите форматы команд МП КР580ВМ80.

14. Какие способы адресации используются в МП КР580ВМ80?

15. На какие группы можно разделить команды МП КР580ВМ80?

16. Пересылки однобайтовые. Приведите примеры команд из этой группы.

17. Пересылки двухбайтовые. Приведите примеры команд из этой группы.

18. Какие операции в аккумуляторе вы знаете.

19. Операции в РОН и памяти. Какие операции к ним относятся?

20. Перечислите команды управления.

КОНТРОЛЬНЫЕ ЗАДАНИЯ

1. На листах ответа должны быть указаны номер группы, фамилия студента и номер его варианта.

2. Номера вопросов выбираются студентом в соответствии с его двумя последними цифрами в зачетной книжке. В табл.6.1 аn-1 – это предпоследняя цифра номера, аn – последняя цифра. В клетках таблицы стоят номера вопросов, на которые необходимо дать письменный ответ.

Номера вопросов Таблица 6.1

Источники:

http://helpiks.org/9-32942.html
http://cyberpedia.su/12x624e.html
http://infopedia.su/13x10e4.html

голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов: