Команды с непосредственным адресом
Перейдем к рассмотрению команды загрузки регистра с непосредственным адресом 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!