Адресация команд

Определение. Под адресацией команд понимается способ вычисления следующей команды.

Самым примитивным способом адресации команд является принудительная адресация: адрес следующей команды указывается в самой команде. Недостатки:

1. Неперемещаемость программы.

2. Команды, с точки зрения длины формата, длинные.

При написании программы в адресном поле следующей команды размещается следующий адрес, что неэффективно. Программист, как правило, располагает команды последовательно, в соседних ячейках памяти. Значит, адрес следующей команды вычисляется просто по адресу текущей программы. Для этого в состав процессора вводится специальный узел (программный счетчик СчАК), обеспечивающий последовательную адресацию команд (естественная адресация).

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

Способы формирования исполнительных адресов команд различны:

1. Неявная адресация. Адресное поле в команде управления отсутствует. Адрес следующей команды извлекается из фиксированных ячеек или адрес фиксирован. Обычно, неявная адресация используется для фиксированных причин прерывания.

2. Абсолютная адресация. В адресном поле команды передачи управления указывается полный адрес следующей команды.

Более распространены непрямые способы адресации. Обычно применяют три способа:

1. Относительная адресация – адресация относительно текущего адреса. В адресном поле команды задается относительный адрес перехода (рис. 3).

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

3. Стековая адресация. Стековая адресация применяется прежде всего при работе с подпрограммами и обслуживании прерываний. Команды передачи управления со стековой адресацией фактически безадресные. Схема работы стека такая же, как и у данных.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: