3) Непосредственная. Операндом является сам адресный код:
О = Ак.
Удобно, если разрядности Ак хватает для размера операнда и обеспечения точности вычислений. Широко используются как адресные константы с последующим применением в других типах адресации. Сокращаются объем программы и время выполнения (меньше обращений к памяти, могут исключаться неупорядоченные адреса констант, которых всегда хватает: 2 и др.). Кроме того, с программиста снимаются заботы о мелких деталях, например присвоение пересекающихся имен константам и др.
Рис. 3.1.3.03.
4) Неявная. Адресная часть отсутствует, операнд подразумевается (сравните с безадресной командой, это её частный случай) в какой-либо части МП или компьютера: АЛУ, регистр, шина входа.
Пересекается с регистровой адресацией, когда в последней номер регистра входит в КОП; но здесь, по-моему, следует различать случаи:
а) когда поле задания номера регистра выделяется (регистровая адресация);
б) когда поле не выделяется (неявная адресация).
<122>
5) Косвенная регистровая адресация. Используется в той или иной форме во всех современных микро-ЭВМ.
Рис. 3.1.3.04.
6) Косвенная абсолютная адресация. Используется при обработке списков, при взаимодействии с подпрограммами и др.
; ;…;
7) Автоинкрементная. Нужда в ней возникает в связи с необходимостью пошагового просмотра таблиц или списков данных.
Рис. 3.1.3.05.
На рисунке: p – шаг инкрементации (он определяется размером операнда).
Ак ≡ Nr;
Аи = < Nr >;
< Nr > + p => Nr .
8) Автодекрементная. По назначению аналогична автоинкрементной, но дополнительно и в сочетании с ней дает возможность использовать любой адресный регистр в качестве указателя стека.
В последнем случае соблюдаются правила:
- указатель стека всегда указывает на верхушку стека;
- с уменьшением содержимого указателя стека объем информации в стеке увеличивается.
Именно поэтому вычитание p (размера операнда), в отличие от автоинкрементной адресации, выполняется до использования адреса в качестве исполнительного.
Рис. 3.1.3.06.
Ак ≡ Nr;
< Nr > - p => Nr ;
Аи = < Nr >.
9) Косвенная автоинкрементная (применялась ещё в PDP-11, LSI-11 и наших аналогах СМ-, Электроника 60).
Рис. 3.1.3.07.
10) Косвенная автодекрементная. См. (8) и (9).
<123>
11) Относительная (адресация по базе).
Первый вариант:
Рис. 3.1.3.08.
Основное удобство – расширение адресного поля. Индексная адресация
является развитием относительной: в команде указан адрес (номер) ячейки, являющейся индексной, хранящей базовый адрес.
Второй вариант:
Рис. 3.1.3.09.
Базовый адрес всегда является полным адресом, а смещение может быть коротким или длинным.
При относительной адресации команда содержит смещение, а в адресном (базовом) регистре помещен базовый адрес. При индексной наоборот: команда содержит базовый адрес, а в индексном регистре находится смещение. Если смещение и базовый адрес одинаковы по длине, то эти два способа адресации неразличимы.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.