КОМАНДЫ ПЕРЕДАЧИ УПРАВЛЕНИЯ

Ранее уже отмечалось, что порядок выполнения команд может быть естественным и принудительным. При естественном порядке после выполнения очередной команды выбирается команда, расположенная в следующей по порядку ячейке памяти. Обычно адрес команды хранится в специальном регистре, называемом счетчиком адреса команд или просто счетчиком команд (СчК), содержимое которого после выполнения каждой команды увеличивается на 1. Если же память имеет побайтную адресацию, то на столько байт, сколько их содержит текущая команда. Цикл выборки/выполнения команд можно пояснить схемой, приведенной на рис. 5.10. Пусть L – длина команды в байтах, а память имеет побайтную адресацию. Порядок выполнения команд на рис. 5.10 следующий:

· Выборка команды по адресу А=А1 (К1).

· Дешифровка команды, в том числе определение ее длины L (L=1).

· Вычисление адреса следующей команды (СчК) = (СчК) + 1 (К2).

· Выполнение команды (К1).

· Выборка команды по адресу А2 (К2).

· Дешифровка команды, в том числе определение ее длины L (L=2).

· Вычисление адреса следующей команды (СчК) = (СчК) + 2.

· Выполнение команды (К2).

Далее циклы выборки/выполнения команд К3, К4, … повторяются.

Естественный порядок выполнения команд может быть нарушен командами передачи управления (командами перехода). Следует иметь в виду, что нарушение порядка выполнения команд возможно и в ряде других случаев, важнейший из которых – обработка запросов прерывания – будет рассмотрен в дальнейшем (см. п. 6).

 

 
 

Известны многочисленные варианты команд перехода, однако общий принцип состоит в том, что адресная часть команды перехода непосредственно или после суммирования с содержимым базового регистра загружается в СчК. В результате после выполнения такой команды может быть выполнена команда из любой ячейки памяти, определяемой адресной частью команды перехода. Для упрощения рассмотрим команды перехода без относительной адресации. Кроме того, предполагается, что память имеет побайтную адресацию.