Случайное
Старые записи

Необходимый регистр базы

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

На языке ассемблера адреса памяти можно записывать так, как этого требует формат машинной команды, — в виде регистра базы и смещения. Однако для программиста такой способ записи адресов очень неудобен. Обычно при программировании на языке ассемблера используются указываемые в виде выражений адреса памяти. Представление адреса в виде регистра базы и смещения, как требует формат машинной команды, осуществляется транслятором. Транслятор выбирает необходимый регистр базы и вычисляет смещение.

Адреса явные и неявные. Адрес, представленный в команде в виде регистра базы и смещения, называется явным. Для записи смещения и номера регистра базы должны использоваться абсолютные выражения.

Наряду с явными адресами программист может использовать адреса памяти, не разбивая их на регистр базы и смещение, в виде переместимых или абсолютных выражений. Адрес, представленный программистом таким образом, называется неявным. Абсолютное выражение определяет абсолютный неявный адрес, пе — реместимое выражение — переместимый неявный адрес. Для неявного адреса транслятор ассемблера определяет регистр базы и вычисляет смещение и тем самым формирует явный адрес из неявного.

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

Новое на сайте
Интересные записи
7c7cf2addf7598dc