Cтраница 2
Выражения, не удовлетворяющие перечисленным требованиям, являются перемещаемыми. Различают простые и составные перемещаемые выражения. Простое перемещаемое выражение представляет собой либо символический адрес, значение которого изменяется при перемещении программы ( массива) в памяти, либо сумму такого адреса и абсолютного выражения. Перемещаемые выражения, не удовлетворяющие этим условиям, являются составными. [16]
ORG не является простым перемещаемым выражением или задает адрес вне программной секции. [17]
![]() |
Схематическое изображение процесса программирования, трансляции, редактирования, загрузки и выполнения программы, написанной на языке. [18] |
Если в подполе операндов пробел, то это значит, что управление после загрузки программы в память будет передано в начало программы для выполнения. Если в подполе операндов стоит перемещаемое выражение, то оно указывает на первую команду, которая должна выполняться после того, как программа помещена в память для выполнения. Необходимо обратить внимание, что перемещаемое выражение нельзя записывать в литеральной форме. [19]
Для записи операндов в языке ассемблера используют два типа ъыражений: абсолютные и перемещаемые. Значения абсолютных выражений не изменяются при перемещении программы, а значения перемещаемых выражений изменяются. Абсолютные выражения обычно применяют для записи номеров регистров и непосредственных операндов, а перемещаемые - для указания данных, размещенных в основной памяти. [20]
Она состоит из семи последовательных элементов строки. Тело третьего элемента строки содержит слово EQU L I LJ, а пятого - абсолютное или простое перемещаемое выражение, дополненное символами LJ до 55 - общего числа символов в теле пятого элемента строки либо одно из указанных выражений и произвольное слово языка ассемблера, резделенные пробелом. Это произвольное слово называется комментарием. Тело седьмого элемента строки содержит восемь пробелов. [21]
Оно помещает команду канала ( Channel Command Word) на границу двойного слова. Записанная в нем операция - это абсолютное выражение, определяющее байт кода операции команды канала; адрес - абсолютное или перемещаемое выражение, определяющее в байтах 1, 2, 3 CCW адрес данных; признаки - абсолютное выражение, определяющее состояние битов признаков в байте 4; счетчик - абсолютное выражение, определяющее в байтах 6 и 7 общее число байтов данных. [22]
Значение модификатора порядка выходит за установленные пределы; недопустимое использование модификатора порядка, например, в десятичной константе; модификатор порядка задан перемещаемым выражением или нарушен синтаксис. [23]
Rl, R2, R3 - десятичные числа, определяющие номер регистров общего назначения, соответственно для первого, второго и третьего операндов. В ЕС ЭВМ имеется 16 таких регистров, имеющих номера 0 - 15; номера регистров с плавающей точкой - 0, 2, 4, 6; D1, D2 - адреса смещений, которые могут задаваться числом 0 - 4095; Bl, B2 - десятичные числа, определяющие номера регистров базы; в эти регистры записываются базовые адреса; L, LI, L2 - числа, определяющие длины полей участвующих в операции операндов в байтах; I, 12, 13 -абсолютные числа, являющиеся непосредственными данными, участвующими в операции ( I и 12 могут принимать значения 0 - 255; 13 -значение 0 - 9); S1, S2 - абсолютные или перемещаемые выражения, определяющие адреса операндов; Х2 - номер индекс-регистра второго операнда; Ml. [24]
Rl, R2, R3 - десятичные числа, определяющие номер регистров общего назначения, соответственно для первого, второго и третьего операндов. В ЕС ЭВМ имеется 16 таких регистров, имеющих номера 0 - 15; номера регистров с плавающей точкой - 0, 2, 4, 6; Dl, D2 - адреса смещений, которые могут задаваться числом 0 - 4095; Bl, B2 - десятичные числа, определяющие номера регистров базы; в эти регистры записываются базовые адреса; L, LI, L2 - числа, определяющие длины полон учмстнующнх в операции операндов в байтах; I, 12, 13 - абсолютные числа, являющиеся непосредственными данными, участвующими и операции ( 1 и 12 могут принимать: шачспня 0 - 2fi5; 13 - значение 0 - 9); SI, S2 - абсолютные или перемещаемые выражения, определяющие адреса операндов; Х2 - - - номер индекс-регистра второго операнда; Ml, МЗ - - 4-битоные ноли масок. [25]
Выражения, не удовлетворяющие перечисленным требованиям, являются перемещаемыми. Различают простые и составные перемещаемые выражения. Простое перемещаемое выражение представляет собой либо символический адрес, значение которого изменяется при перемещении программы ( массива) в памяти, либо сумму такого адреса и абсолютного выражения. Перемещаемые выражения, не удовлетворяющие этим условиям, являются составными. [26]
Если в подполе операндов пробел, то это значит, что управление после загрузки программы в память будет передано в начало программы для выполнения. Если в подполе операндов стоит перемещаемое выражение, то оно указывает на первую команду, которая должна выполняться после того, как программа помещена в память для выполнения. Необходимо обратить внимание, что перемещаемое выражение нельзя записывать в литеральной форме. [27]
Константа типа S определяет адрес в форме Саза и смещение. Значение константы записывается либо в явной форме ( D ( B)), либо перемещаемым выражением, которое транслятор переводит в форму база и смешение. Для константы выделяется полуслово на границе полуслова. Указатель длины принимает одно значение 2, в этом случае выравнивание отсутствует. [28]
Выражения, не удовлетворяющие перечисленным требованиям, являются перемещаемыми. Различают простые и составные перемещаемые выражения. Простое перемещаемое выражение представляет собой либо символический адрес, значение которого изменяется при перемещении программы ( массива) в памяти, либо сумму такого адреса и абсолютного выражения. Перемещаемые выражения, не удовлетворяющие этим условиям, являются составными. [29]
Адресные константы, как и другие константы, определяются псевдокомандой DC, но в отличие от обычных констант заключаются в круглые скобки. Значение констант задается абсолютными или перемещаемыми выражениями. [30]