#cpu-architecture #addressing #operands #addressing-mode #8085
#архитектура процессора #адресация #операнды #режим адресации #8085
Вопрос:
В документации к процессору, над которым я работаю, говорится :
Доступными режимами адресации операндов являются подразумеваемый, регистровый, немедленный, прямой и регистровый косвенный (с использованием пар регистров BC, DE и HL в качестве 16-разрядных указателей на память).
Может ли кто-нибудь, пожалуйста, объяснить разницу между этими режимами адресации в терминах непрофессионалов или, возможно, опубликовать ссылку, по которой я могу узнать?
Большое спасибо.
Ответ №1:
- подразумевается: в инструкции не используется регистр, или отображение регистров фиксировано, поэтому в мнемонике ассемблера регистры не названы
- регистр: команда работает с содержимым регистра
- немедленно: данные являются частью потока команд, их можно использовать только для констант
- прямой: адрес данных является частью потока команд (т. е. данные по фиксированному адресу)
- регистр косвенный: адрес данных находится в регистре или наборе регистров, взятых вместе.
Ответ №2:
Вот довольно полное руководство по ассемблеру 8080/8085:
[PDF] Intel 8080/8085 Assembly Language Programming
File Format: PDF/Adobe Acrobat
РУКОВОДСТВО ПО ЭКСПЛУАТАЦИИ ISIS-II 8080/8085 IAACRO ASSEMBLER, 9800292. Когда вы активируете
ассемблер, у вас есть возможность указать ряд элементов управления. …
http://krchowdhary.com/intel-8085.pdf (5,5 МБ)
Вам нужен раздел 1-15 (страница 27 pdf)
Ответ №3:
Подразумеваемый означает, что код операции не требует от программиста явного указания источника и адреса; они подразумеваются в инструкции. Например, LDA всегда загружает накопитель, накопитель является подразумеваемым адресом назначения для всех кодов операций LDA.
Регистр означает, что источником или назначением является регистр процессора, а не ячейка памяти. например, MOV r1, r2 — это передача из регистра в регистр, которая не включает выборку памяти за пределами кода операции.
Немедленное означает значение, которое находится в памяти в хранилище кода, обычно значение, следующее сразу за кодом операции. То есть: MOV r,n. Ссылка на адрес памяти для загрузки значений — это счетчик программ.
Прямое означает, что адрес памяти предоставляется после кода операции, и процессор сначала загружает этот адрес памяти в регистр адресов, а затем извлекает данные из этой ячейки памяти. Ссылка на адрес memoryy предоставляется после кода операции, и для выполнения сначала требуется загрузить двухбайтовый адрес, а затем загрузить значение памяти из этого местоположения.
Косвенный означает, что адрес хранится в одном из регистров, которые могут использоваться для этой цели. Поскольку это просто передача из регистра в регистр для загрузки регистров адресов для выборки из памяти, это быстрее, чем использование прямой адресации.