Cтраница 1
Имена регистров А, В, С, D, E, H, L, М входят в таблицу постоянных имен. [1]
Вместо имен регистров допускается указывать их адреса в любой системе счисления. [2]
Использование имен регистров Как уже отмечалось, из-за малого количества общих регистров и их интенсивного использования транслятор не занимается распределением регистров для тех или иных целей - решение этого вопроса полностью передается на усмотрение программиста. По этой причине ссылка на регистры в автокодных командах, вообще говоря, должна производиться путем указания их номеров. Однако при этом, конечно, снижается наглядность программы, поскольку надо вспоминать, значение какой величины хранится в регистре с тем или иным номером. Автокод позволяет дать каждому регистру свое имя и использовать его для ссылок на содержимое регистра, а с помощью объявлений эквивалентности программист может каждому из этих имен поставить в соответствие определенный номер. В нашей программе используется и предшествующий ему регистр. Ему, конечно, тоже можно дать свое имя, например РР, а потом с помощью объявлений эквивалентности поставить в соответствие именам Р и РР нужные номера регистров. [3]
При определении имен регистров теперь следует учесть особенность команды DO S ]: чтобы в качестве регистра г3 в нашем случае использовался регистр РУК, регистры РН и РУК должны иметь последовательные номера, причем регистр РН должен иметь четный номер. [4]
Идентификатор идер задает имя регистра, содержимое которого сравнивается с текущей группой символов входной строки. Если регистр пуст ( не содержит ни одного символа), то значение предиката - ложь. С помощью такого предиката, в частности, реализовано описание регистрового шаблона. [5]
В поле операнда записывается имя регистра, который используется в качестве источника и ( или) приемника информации. [6]
Окаймленный угловыми скобками список имен регистров, разделенных запятыми. [7]
Символические ссылки интерпретируются как метки ассемблера и имена регистров, выражения в фигурных скобках интерпретируются как выражения языка С. [8]
Здесь P, PI, PH, PK - имена регистров, причем регистр РН должен иметь четный номер, а регистр РК - следующий по порядку номер. [9]
Для описания регистров используется описатель REGISTER, за которым записывается имя регистра и его разрядность. [10]
В программе, содержащей этот фрагмент, должны быть определены имена регистров Р и РВ. [11]
Предполагается, что здесь PI, PK, PP - имена регистров, a SP, SI и S2 - имена символьных переменных. [12]
В качестве операндов в командах могут использоваться адреса памяти, имена регистров, метки, числовые константы и т.п. Содержимое поля операндов должно соответствовать функциям команды, например поле операндов безадресных команд должно быть пустым, так как эти команды вообще не имеют операндов. Ассемблер вычисляет двоичный эквивалент содержимого поля операндов и подставляет его на место операнда в соответствующей машинной команде. Вычисленное значение операнда должно укладываться в диапазон, определенный для операндов соответствующих команд. [13]
Модификация адреса по индексным или базовым регистрам в большинстве автокодов обозначается номером или именем регистра и размещается после операнда. Например, в автокоде IBM номер регистра указывается в круглых скобках. При модификации по нескольким регистрам они перечисляются обычно через запятую. Такой способ указания модификации не дает возможности контролировать загрузку регистров и разрушение их информации, поскольку отсутствуют имена величин, засылаемых на регистр. Для этой цели в автокоде ЯУЗА модификации можно указывать именем модифицирующей величины, а при наличии нескольких регистров комбинировать имя регистра с его номером. [14]
В общем случае шаблон - последовательность символов, внутри которой могут появляться ссылки на имена регистров и счетчиков ( идер. [15]