КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Прямая или косвенная адресация
Регистровая адресация Непосредственная адресация По синтаксису команды микропроцессор определяет, какой адресный режим выбран. Например, в командах MOV АН.ОО MOV AL.04 значение операнда находится в самой команде. Здесь ^регистр АН обнуляется (0000), а в регистр AL загружается двоичный код 0100. Микропроцессор 80386 также допускает 32-разрядные операнды. Следующий пример иллюстрирует перемещение значения 32-разрядного операнда-источника в регистр ЕАХ (нуль должен находиться перед любым шестнадцатеричным числом): MOV ЕАХ, OABCDFFFFH При непосредственной адресации значения всех операндов при необходимости подвергаются знаковому расширению: значение старшего разряда операнда перемещают в ту же позицию, что и у операнда-приемника. Например, команда MOV АХ.302 5ерет 10-разрядный двоичный эквивалент числа 302,0100101110, и расширяет его По 16-разрядной величины операнда-приемника, записывая нулевой разряд знака» старший разряд регистра АХ:0000000100101110. Знаковое расширение применяется также для 8-разрядного операнда-источника и операнда-приемника. Например: MOV AL,-40 Эта команда расширяет 7 разрядов числа 40, 1101000, до 8 разрядов -40, 11101000. Непосредственный операнд может быть выражением, преобразуемым в число: MOV EDX, OFFSET mydata + 50Н В режиме регистровой адресации значение операнда-источника предварительно запоминается в одном из внутренних регистров микропроцессора 80386. Это значение может составлять 8, 16 или 32 разряда. Микропроцессор определяет размер операнда по имени регистра. Например: MOV ЕВХ, ЕАХ означает, что микропроцессор берет 32-разрядное значение операнда-источника (регистр ЕАХ) и перемещает его в 32-разрядный регистр ЕВХ. В этом режиме используются также 8- и 16-разрядные регистры: MOV DS, АХ MOV DL, AL Из девяти основных режимов адресации непосредственная и регистровая адресации выполняются за наименьшее число машинных циклов. Имея данные в самой команде или данные, уже запомненные во внутреннем регистре, микропроцессор избегает затрат на обращение к внешней памяти или внешним устройствам. Семь оставшихся режимов адресации требуют большего времени выполнения, так как микропроцессору приходится вычислять адрес операнда по адресу сегмента, смещению сегмента и, возможно, по значению регистра базы или индексного регистра. Полученный таким образом адрес называется исполнительным адресом операнда, или ЕА. Сравним режимы прямой и косвенной адресации. В случае прямой адресации значение регистра, переменной, метки, константы или выражения, преобразуемого в константу, могут использоваться для получения исполнительного адреса (смещение относительно базы сегмента). Косвенная адресация включает в себя четыре следующих режима адресации: косвенная регистровая, относительная, индексная, относительная индексная. В этом случае косвенный адрес вычисляется из адреса ячейки памяти, указанной регистром базы или индекса, и может, кроме того, включать в себя необязательное перемещение. Для микропроцессора 80386 адресные смещения могут быть байтами, словами, двойными словами или словами тройной длины.
Дата добавления: 2014-01-07; Просмотров: 629; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |