Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Команды передачи управления
Команды передач управления, или переходы, составляют очень важный класс в системе команд любого компьютера. Они служат для изменения нормальной последовательности выполнения команд или безусловно, или в результате анализа определенных условий. В микропроцессорах обычно бывает много команд такого типа. Типичным представителем можно считать команду «переход при ненулевом переносе» (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): если заданное условие выполнено, следующая команда пропускается; в противном случае она выполняется. Одно из преимуществ команд пропуска в том, что в них не указан адрес перехода, и, следовательно, они представляются меньшим числом байтов.
|