Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Микропроцессоры Токхайм / 6.6. СОСТАВ КОМАНД ОПЕРАЦИЙ ВЕТВЛЕНИЯ

.doc
Скачиваний:
162
Добавлен:
13.05.2015
Размер:
515.07 Кб
Скачать

6.6. СОСТАВ КОМАНД ОПЕРАЦИЙ ВЕТВЛЕНИЯ

Команды ветвления составляют четвертую группу команд, которой снабжен типовой МП. Они приведены в табл. 6.6. Заметим, что описание относится к командам перехода. Действительно, термины ветвление и переход приводятся в этой главе как синонимы. Однако некоторые разработчики усматривают разницу между ними. Эти команды называют иногда командами передачи управле­ния. Там, где они будут встречаться, мы все-таки их будем квалифицировать как команды перехода, следуя договору с фирмой Intel.

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

Эти команды разделены на две группы: безусловного перехода и условного перехода. Первая команда в табл. 6.6 является командой безусловного перехода. Команда ПЕРЕЙТИ непосредственной адресации является трехбай­товой, используемой для изменения специфического адреса

в счетчике команд МП. На рис. 6.28 приведен пример использования такой команды безусловного перехода. Здесь адрес 2000Н загружен в счетчик команд, информа­ция о нем следует непосредственно за КОП, поэтому адре­сация называется непосредственной. Заметим на рис. 6.28, что младшая часть адреса находится во 2-м байт памяти,

а старшая является содержимым 3-го байт памяти. Одна команда этого типа будет использована для запуска счет­чика команд в момент начала выполнения новой програм­мы. Мы можем рассматривать команду ветвления или без­условного перехода как способ загрузки новой информа­ции об адресе в счетчик команд.

Четыре последние команды ветвления в табл. 6.6 явля­ются командами условного перехода. Эти команды повле­кут за собой непосредственно загрузку адреса, только если будут выполнены специальные условия. В противном слу­чае счетчик команд будет инкрементирован нормально. На рис. 6.29 показан пример команды перейти, если 0. В этом случае счетчик команд 2013Н до операции будет нормаль-

но инкрементирован, если только индикатор нуля не уста­новлен в 1. Микропроцессор проверяет это и находит 1, значит, результатом последней логической или арифмети­ческой операции был 0. Условия перехода выполнены, и МП загружает новый адрес 2008Н в счетчик команд. Этот новый адрес поступает из памяти программы; команда опроса использует непосредственную адресацию. Следую­щей выполняемой командой будет команда размещения данных в памяти по адресу 2008Н (но не по адресу 2013Н), как мы могли бы предположить при последовательном вы­полнении программы. Наш МП перешел к новой ячейке па­мяти программы. Отметим, что пример на рис. 6.29 пока­зывает переход назад, что случается наиболее часто.

Команды перехода или ветвления существуют практи­чески во всех программах МП. Они очень эффективны как средство принятия решений и удобны для формирования циклов программы.

Упражнения

Какие два других названия используются для команд ветвления?

Команды _______ (логические, условного перехо­да) являются командами принятия решений.

См. табл. 6.6. Мнемоникой команды перехода ас­семблера на рис. 6.30 будет _______.

6.55. См. табл. 6.6. Мнемоника команды перейти, если перенос на рис. 6.31 — JC, ее КОП ______.

Решения

6.51. Перехода, принятия решения. 6.52. Условного перехода. 6.53. Операция перейти, если не 0, ее КОП С2Н, мнемоника JNZ. 6.54. Инди­катор нуля установлен в 1, что означает равенство нулю результата вы­полненной последней логической или арифметической операции. Условие перехода не выполнено, и содержащийся во 2-м и 3-м байт адрес коман­ды не загружается в счетчик команд. Его содержимое 2013Н (что было до команды JJNZ) будет адресом следующей выполняемой команды. 6.55. DAH. 6.56. Индикатор переноса содержит 1, условие перехода вы­полнено. Микропроцессор загружает новый адрес 2100Н (выполняемой затем команды) в счетчик команд.

6.66.Каким будет содержимое (шестнадцатеричное) счетчика команд после команды перехода, приведенной на рис. 6.31?