Читайте также:
|
|
Для процессоров I8086/88 и реального режима процессоров I80286/386 и выше
допустимыми являются следующие виды адресации:
· регистровая адресация;
· непосредственная адресация;
· прямая адресация;
· косвенная регистровая адресация;
· базовая адресация;
· индексная адресация;
· базовая индексная адресация;
· относительная адресация;
· неявная адресация.
Регистровая адресация предполагает, что операнд находится в одном из регистров общего назначения, причем регистр может быть как восьми -,так и шестнадцатиразрядный. Непосредственная адресация предполагает задание в поле операнда команды восьми- или шестнадцатиразрядного непосредственного операнда. В случае двухоперандной команды обязательно соответствие длин операндов. Частным случаем данного вида адресации является длинная прямая адресация, при которой в поле операнда команды содержится четыре байта, указывающие абсолютный адрес памяти в формате 70 "сегмент: смещение", однако подобная форма адресации допустима только в командах межсегментных переходов и вызовах подпрограмм. Другая форма прямой адресации допускается в командах обмена с портами, когда в качестве операнда указывается абсолютный адрес порта. При косвенно-регистровой адресации адрес операнда может располагаться в одном из шестнадцатиразрядных регистров общего назначения, т.е. регистрах BX, BP, SI, DI. Разновидностью данного способа адресации является косвенная адресация портов ввода/вывода через регистр DX. Базовая адресация предполагает, что в качестве операнда в команде указывается имя базового регистра и смещение. Исполнительный адрес в этом случае указывается как сумма базового регистра и смещения. Индексная адресация предполагает, что значение адреса вычисляется как сумма смещения и содержимого индексного регистра SI или DI, указанных в команде. Базовая индексная адресация является комбинацией чисто индексной и базовой адресации, адрес вычисляется соответствующим образом. Относительная адресация реализуется только по отношению к регистру IP и предполагает, что адрес вычисляется как сумма содержимого регистра IP и смещения. Данная форма адресации используется в командах организации переходов, циклов и вызова подпрограмм, обеспечивая независимость соответствующих команд от места размещения в памяти. Неявная форма адресации используется в командах умножения, деления, преобразования и перекодировки, в которых в качестве операнда всегда предполагается регистр AX (или пара DX:AX), однако в качестве операнда он не указывается.
Дата добавления: 2015-04-22; просмотров: 15 | Поможем написать вашу работу | Нарушение авторских прав |