Микропроцессорной системе
Источниками и приемниками операндов команд служат регистровая память, память данных, а также порты ввода-вывода. Адрес операнда, считываемого или размещаемого в одном из адресных пространств микропроцессорной системы, называется исполнительным адресом. Метод построения исполнительного адреса называется способом адресации. В общем случае в поле команды можно выделить две части: код операции и адресную часть. Код операции указывает на вид действия, которое нужно произвести над операндом, указание на который определяется адресной частью /12,13/.
Рассмотрим основные способы адресации данных, предполагая, что МП имеет одно-, двух- и трехбайтовые форматы команд, 8-разрядные ячейки памяти и шины передачи данных. Однако рассмотренные способы являются общими и для старших моделей МП.
Прямая адресация. При таком способе адресации исполнительный адрес есть адрес, указанный в адресной части команды, который передается в регистр адреса. С помощью адресной части трехбайтных команд осуществляется обращение к ячейкам ОЗУ. При выполнении команд передачи управления адресная часть трехбайтной команды пересылается в счетчик команд.
Например, команда записи содержимого А в ячейку 35F7H ОЗУ имеет вид: STA 35F7H.
Если команда является двухбайтной, то адресная часть указывает адрес порта ввода-вывода. Например команда, пересылки содержимого А в порт вывода 15 имеет вид: OUT 15H.
Прямая регистровая адресация. Этот вид адресации используется для обращения к внутренним регистрам МП. Формат команд – однобайтный. Например, команда пересылки содержимого регистра B в регистр С имеет вид: MOV C,B.
Косвенная адресация. При этом способе адресации команда указывает адрес ячейки специальной памяти, содержащей исполнительный адрес. Наиболее часто в качестве специальной памяти используются РОН, а способ формирования исполнительного адреса именуется как косвенная регистровая адресация. Перед началом исполнения команды с косвенной регистровой адресацией значение исполнительного адреса с помощью отдельной команды заносится в одну из регистровых пар HL, BC или DE. Далее записывается собственно команда, использующая данный исполнительный адрес. Формат этой команды – однобайтный. Например, пересылка содержимого ячейки ОЗУ ABCDH (идентификатор M) с адресом, определяемым значением регистровой пары HL в регистр A выглядит так:
LXI H,ABCDH;
MOV A,M;
Косвенная загрузка аккумулятора А из ячейки памяти с адресом в регистровой паре BC имеет вид: LDAX B.
Косвенная адресация удобна при обработке регулярных структур данных, например массивов. В регистровую пару (указатель памяти) сначала загружается базовый начальный адрес массива, тогда переход к последовательным элементам массива осуществляется с помощью инкремента или декремента регистровой пары. Разновидностью косвенной регистровой адресации является адресация к ячейкам памяти по содержимому 16-разрядного регистра указателя стека SP.
Непосредственная адресация. Это такой вид адресации, при котором адресная часть команды представляет собой непосредственно операнд. В зависимости от разрядности операндов команды с непосредственной адресацией могут быть двух- и трехбайтные. Например, двухбайтная команда сложения содержимого А и числа 0FH имеет вид: ADI 0FH. С помощью команды LXI H,0809H в регистровую пару HL загружается двухбайтное число 0809H.
Индексная адресация. При такой адресации исполнительный адрес формируется путем сложения адресной части команды и содержимого специального регистра, называемого индексным. В рассматриваемом МП этот способ может быть реализован программным методом.
Дата добавления: 2016-06-13; просмотров: 936;