Способы адресации

Введём следующее определение. Способ адресации – это способ задания операндов внутри машинной команды. Другими словами это правила, по которым заданные в команде (двоичные) числа определяют местонахождение и значение операндов для данной команды. Как правило, способ адресации операндов определяется только кодом операции команды. Для лучшего понимания этого понятия рассмотрим операцию сложения двух чисел в одноадресной ЭВМ. Мнемоника кодов операций будет указывать на способ адресации.

· Прямой способ адресации.

СЛ S := S + <2>

При этом способе адресации (только этот способ мы использовали до сих пор) число на месте операнда задаёт адрес ячейки основной памяти, в котором и содержится необходимый в команде операнд. Мы будем в угловых скобках обозначать содержимое ячейки основной памяти с данным адресом. Так, в приведённом выше примере <2> обозначает содержимое ячейки с адресом 2. В этой ячейки, конечно же, скорее всего не хранится число 2.

· Непосредственный способ адресации.

СЛН S := S + 2

При таком способе адресации поле адреса команды содержит, как говорят, непосредственный операнд. Разумеется, такие операнды могут быть только (неотрицательными) целыми числами, по длине не превышающими максимального значения в поле адреса.

· Косвенный способ адресации.

СЛК S := S + <<2>>

Здесь число на месте операнда задаёт адрес ячейки памяти, содержимое которой, в свою очередь, трактуется как целое число – адрес необходимого операнда в памяти ЭВМ.

В качестве примера выполним несколько команд сложения с различными способами адресации для одноадресной ЭВМ и рассмотрим значение регистра-сумматора S после выполнения этих команд (см. рис. 4.1). Справа на этом рисунке показаны первые ячейки памяти и хранимые в них целые числа.

 

. . . Адрес Значение  
СЧ 0; S := 0  
СЛ 2; S := 3  
СЛН 2; S := 5  
СЛК 2; S := 13  
. . . . . . . . .  
       
  Рис. 4.1. Значение регистра сумматора после выполнения команд сложения с различными способами адресации.
         

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








Дата добавления: 2015-10-05; просмотров: 774;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.