Команды с непосредственным адресом



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

Байт, выбранный в первом цикле, помещается в регистр команд, а байт, выбранный во втором — в регистр адреса данных. После этого, если только R не равен 11112, выполнение команды завершается по третьему синхроимпульсу на втором машинном цикле. А именно, как показано на рис. 8, младшие 8 битов регистра адреса данных, содержащие второй байт команды, передаются в общий регистр R. Если же R = 11112, то, как и в случае команды MOV, требуется еще один машинный цикл для обращения к памяти.

 

 

Рис. 4.8 Информационные потоки в фазе выполнения команды LRI R при R ¹ 11112

Команды обращения к памяти

Теперь рассмотрим группу команд обращения к памяти. Это трех­байтовые команды, с помощью которых информация передается меж­ду памятью и одним из общих регистров 016, 116, 216 обозначаемых через r. В качестве примера рассмотрим команду запоминания содер­жимого регистра в памяти STR г. Выполнение команды проиллюстри­ровано на рис. 4.9.

 

 

Рис.4.9. Информационные потоки в фазе выполнения команды STR r

 

Содержимое регистра адреса данных, загруженного в фазе выборки-дешифрации вторым и третьим байтами команды, подается на адрес­ную шину, а содержимое общего регистра r подается на шину данных. Затем устройство управления формирует сигнал «запись», стробирующий запись данных в адресуемую ячейку памяти. Фаза выполнения требует одного внешнего обмена и занимает один машинный цикл. Следовательно, полный командный цикл занимает четыре машинных цикла: три на фазу выборки-дешифрации и один на фазу выполнения.

 

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

Команды передач управления, или переходы, составляют очень важный класс в системе команд любого компьютера. Они служат для изменения нормальной последовательности выполнения команд или безусловно, или в результате анализа определенных условий. В микропроцессорах обычно бывает много команд такого типа. Ти­пичным представителем можно считать команду «переход при ненуле­вом переносе» (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): если заданное условие выполнено, следующая команда пропускается; в противном случае она выполняется. Одно из преимуществ команд пропуска в том, что в них не ука­зан адрес перехода, и, следовательно, они представляются меньшим числом байтов.

 


Дата добавления: 2018-04-05; просмотров: 375; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!