Cтраница 1
Косвенная регистровая адресация предполагает предварительную загрузку адреса в регистровую пару, а в случае прямой адресации эти адреса содержатся во втором и третьем байтах команды. [1]
При косвенной регистровой адресации могут использоваться индексы и смещения. При адресации со смещением производится прибавление 16-разрядного целого числа со знаком к содержимому адресного регистра, а полученное значение применяется затем как указатель операнда. При косвенной регистровой адресации с индексацией и смещением суммируется содержимое индексного регистра, адресного регистра и 8-разрядного целого со знаком, а результат используется затем как указатель операнда. [2]
Наиболее распространенными для однобайтовых команд является прямая и косвенная регистровая адресация. В командах с прямой адресацией поле адреса содержит сам адрес операнда, который выбирается из основной памяти. [3]
Способы адресации данных.| Способы адресации с автомодификацией. [4] |
Для пошагового просмотра таблиц и списков удобно применять косвенную регистровую адресацию. [5]
Теоретически есть еще один способ выполнения этого вычисления без использования косвенной регистровой адресации. [6]
Структура AGU. [7] |
Все шестнадцать адресных регистров ( R0 - R15), NSP или ESP используются в генерации адреса при косвенной регистровой адресации. Все четыре регистра смещения ( N0 - N3) могут быть использованы всеми шестнадцатью адресными регистрами. [8]
Способы адресации, применяемые в процессоре Н8000. [9] |
Задание операнда с помощью полей mode и regl осуществляется так, как показано в табл. 5.2. Команды, использующие регистровую или косвенную регистровую адресацию, состоят из одного слова. Для остальных способов адресации требуется второе слово. В последнем случае программист может записать в оператор языка ассемблера любое выражение ( ехрг); ассемблер вычисляет выражение и помещает его значение во второе слово. [10]
В процессорах, не имеющих стека, по команде CALL адрес возврата помещается в определенный регистр, а возврат может быть выполнен с помощью команды JMP, использующей косвенную регистровую адресацию. Соответствующие примеры подпрограмм будут рассмотрены в гл. [11]
Наиболее гибкой является регистровая косвенная адресация, при которой операнд задается содержимым адресного регистра. Косвенная регистровая адресация с последующим приращением содержимого регистра адреса предусматривает автоматическое прибавление 1; 2 или 4 к значению регистра адреса после его использования. Аналогично косвенная регистровая адресация с предварительным уменьшением содержимого регистра предусматривает автоматическое вычитание 1; 2 или 4 из значения этого регистра перед его использованием. [12]
Другие способы адресации тоже имеют смысл. Косвенная регистровая адресация позволяет программе вычислять целевой адрес, помещать его в регистр, а затем переходить туда. Такой способ дает максимальную гибкость, поскольку целевой адрес вычисляется во время выполнения программы. Но он также предоставляет огромные возможности для появления ошибок, которые практически невозможно найти. [13]
Шестнадцатиразрядный регистр Н, как правило, служит адресным регистром. При косвенной регистровой адресации он хранит 16-разрядный исполнительный адрес основной памяти. В некоторых командах старший и младший байты 16-разрядного регистра Н могут быть адресованы независимо и использованы как отдельные 8-разрядные регистры данных Н ( High Byte) и L ( Low Byte) соответственно. [14]
Обращение к элементу массива a [ i ]. [15] |