Текущее значение - счетчик - адрес - Большая Энциклопедия Нефти и Газа, статья, страница 2
Никогда не недооценивай силы человеческой тупости. Законы Мерфи (еще...)

Текущее значение - счетчик - адрес

Cтраница 2


Первая из указанных директив обеспечивает четность текущего значения счетчика адресов путем прибавления к нему единицы в случае его нечетности. ODD гарантирует нечетность текущего значения счетчика адресов. EVEN рекомендуется использовать после директив резервирования памяти, если они предшествуют операторам машинных команд или вызовам макрокоманд. В этом случае счетчик адресов указывает на границу слова, что позволяет избежать возможных ошибок адресации при формировании цифровых кодов машинных команд.  [16]

Операция обозначенная знаком доллара () возвращает текущее значение счетчика адреса, иначе говоря, смещение адреса текущего оператора. Эта операция полезна, если Вы хотите заставить Ассемблер вычислить длины строк символов.  [17]

Опреатор присваивания может использоваться также и для установления текущего значения счетчика адреса.  [18]

Если оператор имеет метку, то ее имя и текущее значение счетчика адресов заносится в таблицу символов; тем самым устанавливается соответствие между именем и его значением.  [19]

Метка представляет собой определяемое пользователем имя ( символ), значение которого при трансляции приравнивается к текущему значению счетчика адреса и заносится транслятором в таблицу символов.  [20]

Создает адресный операнд либо с атрибутом дистанции ( NEAR или FAR), либо с атрибутом типа ( BYTE или WORD) со смещением, равным текущему значению счетчика адреса, и атрибутом текущего сегмента.  [21]

22 Простейшие случаи употребления предложения DC 88. [22]

Ассемблер, встретив в исходном модуле предложение DC, анализирует тип константы. Если текущее значение счетчика адреса имеет кратность, требуемую типом константы, то Ассемблер переводит константу в определяемый типом формат и помещает полученную последовательность шестнадцатиричных цифр в объектный модуль непосредственно вслед за последним уже построенным элементом объектного модуля. Если же значение счетчика адреса нужной кратности не имеет, то Ассемблер продвигает значение С А на k байтов так, чтобы значение С А k удовлетворяло нужному условию кратности, и строит описанным выше образом значение константы, отступив от последнего построенного элемента объектного модуля на k байтов. Пропущенные k байтов заполняются нулями.  [23]

Первая из указанных директив обеспечивает четность текущего значения счетчика адресов путем прибавления к нему единицы в случае его нечетности. ODD гарантирует нечетность текущего значения счетчика адресов. EVEN рекомендуется использовать после директив резервирования памяти, если они предшествуют операторам машинных команд или вызовам макрокоманд. В этом случае счетчик адресов указывает на границу слова, что позволяет избежать возможных ошибок адресации при формировании цифровых кодов машинных команд.  [24]

Ассемблер, устроенный по-другому, может попытаться узнать, определена ли метка LABEL или нет. Но поскольку он еще не закодировал команды, расположенные между текущим значением счетчика адресов и меткой LABEL, ему недоступно значение адреса последней.  [25]

26 Примеры определения констант типов D и Е. [26]

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

Имя команды START идентифицирует программу и устанавливает начальное значение счетчика адресов программы, который будет вести компилятор. Начальное значение счетчика адреса задается в поле операнда. Текущие значения счетчика адреса формируются компилятором по мере обработки предложений программы.  [28]

Программист не знает ( или не желает знать) абсолютных адресов ячеек памяти, служащих для хранения констант и результатов или адресов, на которые должен быть выполнен переход. Написание программ в этом случае возможно только за счет применения символических адресов - идентификаторов, которым ассемблер присвоит соответствующие числовые значения. При ассемблировании имени присваивается текущее значение счетчика адреса, и идентификатор рассматривается как метка или указатель на ячейку, которую эта метка представляет. Для того чтобы учесть присвоенные идентификаторам в процессе ассемблирования значения, ассемблер ведет таблицу идентификаторов, в которой эти значения хранятся. Для распознавания того, что идентификатор используется в качестве метки, вводится специальный символ - терминатор.  [29]

Значения ( адреса) символических имен и литералов отыскиваются в таблицах имен и литералов соответственно. При этом порядковые номера имен по таблице имен заносятся в таблицу использованных имен ( см. рис. 3.8) Вместе с номером оператора по счетчику операторов. Символ получает значение, равное текущему значению счетчика адреса. Если операнд является выражением, то вычисляется значение этого выражения.  [30]



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