Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект по АКС.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
280.29 Кб
Скачать

Косвенные, непосредственные, относительные адреса

Адреса, используемые в команде, различают по способу указания на память.

- Косвенный адрес (адрес адреса) (А)=х(В)=А и ((В))=х

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

Для различия прямых и косвенных адресов вводятся

признаки: Mi = 0 - Ai – прямой адрес

Mi = 1 - Ai –косвенный адреc

Р

M1R1

M2R2

Формат команды -

Использование команд

Команда с косвенным адресом выполняется:

  1. ((УК))  РК

  2. (УК) +1  УК

  3. Дешифрация Р

  4. Если M1= 0, то (R1) r1, иначе ((R1)) r1

  5. Если M2 = 0, то (R2) r2, иначе ((R2)) r2

  6. (r1)p(r2)r3

  7. (r3)R2

  8. Перейти к п.1

Непосредственный адрес

Программа состоит из команд, исходные данные делятся на переменные и постоянные. Распределение ОП может выглядеть так:

Программы

Данные

Свободные ячейки

Команды

Переменные/константы

Промежуточные результаты/свободные/конечные

Константы вводятся один раз и присоединяются к программе. Они располагаются в памяти сразу после последней команды, бывают одноразового и многократного использования, постоянные нужные многим командам располагаются в одном месте. Прямо за используемой командой.

Р

R1

X

Формат

R1 – прямой адрес

Х – непосредственный адрес

Формат команды состоит из операционной и адресной части, поэтому const. На месте второго адреса считают вторым адресом и называют непосредственным адресом. Результат выполнения команды всегда будет в R1. Участок программы, содержащий данную команду, используется многократно и не изменяет постоянную.

Относительный адрес

Константы многоразового использования бывает локальными и глобальными. Локальность определяется относительно конкретной команды. Константа, используемая командой часто, оказывается локальной для нее. На такие константы рассчитана относительная адресация. Двухадресная команда с относительным адресом короче, чем команда типа “регистр-память”.

Формат для относительной адреса:

Р

R1

D2


D2 – целое со знаком. D2 используется в качестве смещения относительно УК.

Выполнение команды:

  1. ((УК))  РК

  2. (УК) + l УК

  3. Дешифрация Р

  4. (R1) r1

  5. ((УК) + D2)  r2

  6. (r1)p(r2)  r3

  7. (r3)  R1

  8. Перейти к пункту 1

Пересылки

Для организации пересылок вводится два новых регистра.

РАП – регистр адреса памяти

РДП – регистр данных памяти

Через эти регистры процессор связывается с ОП. По шине адреса в ОП передается адрес, а по шине данных - из ??? в ОП. Когда производится операция чтения или запись результата, адрес засылается в РАП. По команде чтения ОП пересылает содержимое регистра выставленного адреса в РДП. Если команду записать, то содержимое регистра данных передается в ОП, т.е имеется группа команд, называемых командами пересылки. Они(команды) имеют формат:

(R1)  R2

(R1)  A1

(A1)  R1

(A2)  R2

Распространены в двухадресных и одноадресных процессорах где копии необходимы для сохранения данных, уничтожаемых арифметическими операциями. Все пересылки выполняются через ЦП, а именно через регистр данных памяти. Если нужно содержимое ячейки А переслать в В, то операция выполняется в два шага:

(А) РДП 

 Пересылка из А в В

(РДП)  В 