Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Расширение знакового бита непосредственных значений

2024-02-15 70
Расширение знакового бита непосредственных значений 0.00 из 5.00 0 оценок
Заказать работу

Вверх
Содержание
Поиск

Ассемблер всегда расширяет знак при пересылке непосредственных значений в операнд-приемник. Это означает, что он дублирует старший значащий бит значения источника до тех пор, пока не будут заполнены все 8 или 16 битов операнда-приемника.

Например, операнд-источник нашего первого примера, десятичное число 500, может быть записано в виде 10-битового двоичного значения 0 111 110 100. Когда Ассемблер устанавливает, что Вы требуете загрузить это значение в 16-битовый регистр СХ, то он расширяет его до 16-битового, записав перед ним шесть копий "знакового" бита (со значением 0). Поэтому в регистр СХ попадает двоичное значение 0 000 000 111 110 100. Во втором примере микропроцессор 8x86 загружает в регистр CL 8-битовое двоичное представление 11 100 010 десятичного числа –30.

Режимы адресации памяти

Доступ к ячейкам памяти обеспечивает­ся взаимодействием операционного блока и интерфейса шины микропроцессора 8x86. Когда операционному блоку требуется прочитать или записать значение операнда, находящегося в памяти, он передает значение смещения адреса интер­фейсу шины. Последний добавляет это смещение к содержимому регистра сегмен­та (предварительно дополненному четырьмя нулями) и тем самым получает 20-битовый физический адрес, который и используется для доступа к операнду.

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

Смещение, которое вычисляется операционным блоком для доступа к находящемуся в памяти операнду, называется исполнительным адресом операн­да. Исполнительный адрес показывает, на каком расстоянии (в байтах) располага­ется операнд от начала сегмента, в котором он находится. Будучи 16-битовым числом без знака, исполнительный адрес позволяет получить доступ к операндам, находящимся выше начала сегмента на расстоянии до 65535 (или 64К) байтов.

Время, затрачиваемое операционным блоком на вычисление исполнительного адреса, является одним из основных компонентов общего времени исполнения команды. В зависимости от используемого режима адресации получение исполни­тельного адреса может заключаться всего лишь в извлечении его как составной части команды, но иногда могут потребоваться довольно долгие манипуляции, например сложение извлеченной из команды составляющей с регистром базы и с индексным регистром. Даже если время исполнения не является критичным для Вашей программы, стоит оценивать эти временные факторы в процессе чтения следующих ниже описаний режимов адресации.

Прямая адресация

При прямой адресации исполнительный адрес является составной частью команды (так же, как значения при непосредственной адресации). Микро­процессор 8x86 добавляет этот исполнительный адрес к сдвинутому содержимому регистра сегмента данных DS и получает 20-битовый физический адрес операнда.

Обычно прямая адресация применяется, если операндом служит метка. Напри­мер, команда

MOV AX,TABLE

загружает содержимое ячейки памяти TABLE в регистр АХ. На рис. 1 показана схема исполнения этой команды. Обратите внимание на то, что против ожидания микропроцессор 8x86 заполняет данные в памяти в обратном порядке. Старший байт слова следует за младшим байтом, а не предшествует ему. Чтобы усвоить это, запомните, что старшая часть (старшие биты) данных располагается в ячейках памяти со старшими адресами.

 

Рис. 1. Прямая адресация                Рис. 2. Косвенная регистровая адресация


Поделиться с друзьями:

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.011 с.