Псевдооперация - Большая Энциклопедия Нефти и Газа, статья, страница 3
Если человек знает, чего он хочет, значит, он или много знает, или мало хочет. Законы Мерфи (еще...)

Псевдооперация

Cтраница 3


Если операция не является псевдооперацией, производится поиск в таблице машинных кодов. Если совпадение обнаружено, в поле кода операции команды в машинном представлении подставляется фактический двоичный код операции, полученный из таблицы, и вычисляется символический адрес в поле адреса.  [31]

ОЗУ ( за исключением некоторых псевдоопераций); его величина зависит от модификации команды, а также от наличия в ней каких-либо условий.  [32]

На рис. 3.7 показана таблица псевдоопераций. Каждая псевдооперация представлена в таблице вместе с соответствующим указанием на программу ассемблера, предназначенную для выполнения этой псевдооперации.  [33]

Пусть все стандартные подпрограммы, реализующие допустимые псевдооперации, во время работы переводящей программы хранятся во внешнем запоминающем устройстве. Можно, например, каждую стандартную подпрограмму записать па магнитную ленту в отдельную зону, номер которой легко определяется по номеру данной подпрограммы, причем длина каждой подпрограммы зафиксирована в некоторой таблице. Псевдопрограмма, вводимая в память машины, является исходной информацией для переводящей программы, которая в процессе своей работы будет поочередно переводить отдельные псевдокоманды на язык машины, получая каждый раз в результате этого перевода некоторую последовательность команд интересующей нас основной программы. С этой целью на каждом этапе своей работы переводящая программа выбирает очередную псевдокоманду и анализирует ее. Код операции 0 псевдокоманды определяет собой ту стандартную подпрограмму, которая реализует операцию, заданную в псевдокоманде. Если эта подпрограмма сравнительно невелика, то она просто вставляется в качестве очередной последовательности команд переведенной программы. Для этого данная подпрограмма вызывается из внешнего запоминающего устройства на очередное свободное место памяти, отведенное для хранения переведенной программы, и настраивается как по месту памяти, на которое она вставляется, так и по информации, содержащейся в псевдокоманде. Если же данная операция реализуется достаточно сложной подпрограммой, то в основную программу записываются команды обращения к этой подпрограмме с информацией, содержащемся в переводимой псевдокоманде. Тот или иной способ использования каждой стандартной программы может быть определен заранее. После того, как вся псевдопрограмма будет переведена на язык машины, полученная программа может быть либо непосредственно выполнена машиной, либо выведена из машины для последующего использования. Таким образом, здесь фазы перевода псевдопрограммы на язык машины и выполнения переведенной программы четко разграничены во времени.  [34]

Определите псевдооперацию ELSEIF, которая позволяет псевдооперации IF производить трансляцию одной или другой последовательности операторов.  [35]

Для некоторых команд, особенно для псевдоопераций, модификации к, п, л неприемлемы ( см. графу примечаний приложения 5), так как в них код Л10 не имеет смысла. В машинных операциях модификации к, п, л позволяют записывать одно из чисел, с которыми выполняются действия в самой команде. Это дает возможность сократить количество ячеек ОЗУ, используемых в программе.  [36]

Возможности расширения математического обеспечения машины введением новых псевдоопераций ограничены наличием небольшого числа незадействованных кодов. Кроме того, введение новой псевдокоманды сопряжено с изменением в ДИИ и ВВ.  [37]

Иногда обучающиеся не улавливают различия между псевдооперацией EQU и псевдооперациями FCB / FCW, а этот момент является чрезвычайно важным. Оператор EQU определяет константу во время процесса трансляции, устанавливая связь между меткой и числом, которая действительна только во время процесса трансляции. Всякий раз, когда ассемблер встречает оператор EQU, он заменяет его на соответствующее числовое значение, как если бы это число было напечатано.  [38]

При 9 н, л, лу псевдооперации пп выполняются как прежде, но числа перед печатью округляются.  [39]

Значения констант запоминаются в памяти с помощью псевдоопераций FCB и FCW, которые осуществляют вычисление операндов во время трансляции и запись в память результирующих значений байтов или слов при загрузке программы.  [40]

Какие просмотры ассемблера должны быть модифи-дированы для каждой псевдооперации.  [41]

42 Таблицы символов и литералов, построенные на проходе 1 по программе из. [42]

Операции операторов 6 и 7 находятся в таблице псевдоопераций. Символ DATA1 должен был бы занестись в таблицу символов со значением адреса 14 ( io) E ( iej, но полные слова нужно выравнивать по границе слова. Оба символа помечаются как перемещаемые.  [43]

Построенная ранее таблица имен макросов используется для идентификации псевдоопераций точно так же, как и таблица кодов операций машины в обычном ассемблере.  [44]

Таблица машинных операций ( МОТ) и таблицы псевдоопераций ( РОТ) являются примерами фиксированных таблиц. Содержимое этих таблиц не пополняется и не изменяется во время ассемблирования. На рис. 3.6 показано содержимое и формат таблицы машинных операций. Мнемонический код операции является ключом, а его значением - эквивалентный двоичный код операции, который хранится для использования при генерации машинного кода команды. Длина команды используется для увеличения счетчика адреса, информация о формате команды необходима для формирования эквивалента этой команды на машинном языке.  [45]



Страницы:      1    2    3    4