Всего на сайте:
248 тыс. 773 статей

Главная | Информатика

Команды передачи управления  Просмотрен 218

Команды передач управления, или переходы, составляют очень важный класс в системе команд любого компьютера. Они служат для изменения нормальной последовательности выполнения команд или безусловно, или в результате анализа определенных условий. В микропроцессорах обычно бывает много команд такого типа. Ти­пичным представителем можно считать команду «переход при ненуле­вом переносе» (JCN).

Поскольку это трехбайтовая команда, фаза выполнения может быть начата на третьем синхроимпульсе третьего машинного цикла. По этому синхроимпульсу БУС опрашивает состояние триггера пере­носа С. Если состояние С удовлетворяет заданному условию, т. е. если С=1, то, как показано на рис.4.10, содержимое регистра адреса дан­ных передается на программный счетчик.

Таким образом, второй и третий байты команды становятся адре­сом команды, которая будет выбираться следующей. Если же, на­против, состояние триггера С не удовлетворяет условию, т. е. С=0, то программный счетчик сохраняет то значение, которое он получил в фазе выборки-дешифрации. Поэтому JCN не окажет влияния на по­рядок выборки команд.

Переходы описанного типа называются условными передачами уп­равления или условными переходами, поскольку программный счетчик изменяется только при выполнении некоторых условий. Другими примерами команд такого типа могут служить «переход при нулевом аккумуляторе» (JAZ), «переход при отрицательном аккумуляторе» (JAM) и др.

 

 

Рис. 4.10 Информационные потоки в фазе выполнения команды JCN при С=1, При С=0 перехода не происходит

 

 

Рис. 4.11 Взаимодействие между главной прог­раммой и

подпрограммой

 

 

Рис. 4.12 (а) Команды обращения к подпрограммам. Информационные потоки в фазе выполнения команды JMS

 

 

Рис. 4.12 (б) Команды обращения к подпрограммам. Информационные потоки в фазе выполнения команды RET

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

В некоторых микропроцессорах можно встретить команды обхода, или пропуска (skip instructions): если заданное условие выполнено, следующая команда пропускается; в противном случае она выполняется. Одно из преимуществ команд пропуска в том, что в них не ука­зан адрес перехода, и, следовательно, они представляются меньшим числом байтов.

 

Предыдущая статья:Команды обращения к памяти Следующая статья:Команды обращения к подпрограммам
page speed (0.0102 sec, direct)