Cтраница 2
Предложение RECORD не описывает никаких физических данных, но позволяет описывать формат структурных переменных и вместе с аппаратом косвенных ссылок позволяет организовать обработку структурных переменных. [16]
Разумеется, на таблицу можно ссылаться с помощью объектов любого типа данных, в то время как при косвенной ссылке выбор ограничен цепочками. Следует подумать также о том, нужно ли хранить список ссылочных элементов для косвенных ссылок. Преобразование же таблицы в массив позволяет получить подобный список легко и эффективно. [17]
Этот оператор может выполняться только в том случае, когда в верхушке стека расположен либо дескриптор данных, либо дескриптор косвенной ссылки. В том случае, если исходный дескриптор или косвенная ссылка указывают на следующий дескриптор или следующую косвенную ссылку, этот оператор, разворачивая всю цепочку ссылок, добирается, Наконец, до дескриптора или косвенной ссылки, указывающих на операнд. Эти последние в цепочке ссылок замещают исходный дескриптор в стеке. В том случае, если в верхушке магазина находится информация, отличная от дескриптора данных или косвенной ссылки, производится прерывание по запрещенной команде. Этот оператор доставляет средства, позволяющие добраться до конца косвенных ссылок и в дальнейшем пользоваться доступом к данным, минуя многоступенчатый поиск по памяти, отнимающий много времени. [18]
Перечисленные в таблице 1 функции и операции позволяют с помощью типовых конструкций программ ( линейные участки, условные переходы, циклы, функции - подпрограммы, рекурсии, ввод / вывод) выразить все возможные преобразования машинных строк, в том числе, конкатенацию строк, сдвиги, поиски подстрок по образцам, а также интерпретировать в машинных строках символьные строки и их исчисление, арифметические действия с различными числовыми форматами, работать с многомерными массивами ( регулярные структуры), переходы по адресам к элементам ( косвенные ссылки), т.е. с помощью ссылок строить и работать нерегулярными структурами любой сложности. [19]
Аппарат дескрипторов является очень интересной особенностью машин фирмы Барроуз, и далее мы подробнее рассмотрим их назначение и функции. Косвенная ссылка может быть обращена к слову, которое, в свою очередь, само есть косвенная ссылка. Таким путем достигается многоуровневая косвенная адресация, причем длина цепочки косвенных ссылок ничем не ограничена. Следует подчеркнуть еще раз, что команда вызова имени завершает свою работу размещением косвенной ссылки в стеке, в отличие от оператора вызова значения, для выполнения которого может потребоваться аппаратный анализ цепочки косвенных ссылок, многократные обращения в память, в результате чего в верхушке стека должен оказаться операнд. [20]
Это очень важно при организации вычислений в многопроцессорных системах, так как это позволяет одно и то же тело программы одновременно использовать несколькими процессорами при работе с разными данными. Аппарат дескрипторов и косвенных ссылок в то же время позволяет разным программам иметь контролируемый доступ к общим данным, что полезно при решении некоторых сложных задач. [21]
Обычно идер 1 именует какую-либо память, подлежащую распечатке. Могут быть использованы и косвенные ссылки, вычисляемые в момент распечатки. Параметры в скобках задают характер печатаемой информации: длину ( число) и формат печатаемой информации: СХ - символьный и шестнадцатеричный формат; С - символьный формат; X - шестнадцатеричный формат; D - десятичный формат. [22]
Аналогично мы также знаем, что Q 0 обозначает некоторый данный символ, как таковой, a Ql указывает символ, расположенный по адресу, задаваемому данным символом. Q 2 просто сдвигает косвенную ссылку на один шаг дальше и обозначает символ, расположенный в символе, расположенном по адресу, задаваемому данным символом. Если бы символ F3 был размещен в НО в начале движения, то 2 НО отсылал бы к символу в ячейке, наименованием которой служит символ в НО, или к F1, поскольку, как мы только что узнали, символ F1 помещается в F3 до начала движения. [23]
Из приведенного материала должно быть ясно, что косвенная ссылка - операция довольно эффективная. Поскольку обычные переменные представлены указателями, косвенная ссылка требует лишь перехода от указателя к значению, на которое он указывает. [24]
Этот оператор может выполняться только в том случае, когда в верхушке стека расположен либо дескриптор данных, либо дескриптор косвенной ссылки. В том случае, если исходный дескриптор или косвенная ссылка указывают на следующий дескриптор или следующую косвенную ссылку, этот оператор, разворачивая всю цепочку ссылок, добирается, Наконец, до дескриптора или косвенной ссылки, указывающих на операнд. Эти последние в цепочке ссылок замещают исходный дескриптор в стеке. В том случае, если в верхушке магазина находится информация, отличная от дескриптора данных или косвенной ссылки, производится прерывание по запрещенной команде. Этот оператор доставляет средства, позволяющие добраться до конца косвенных ссылок и в дальнейшем пользоваться доступом к данным, минуя многоступенчатый поиск по памяти, отнимающий много времени. [25]
Команда вызова значений ( обращений по значению) состоит из двух слогов и помещает операнд в стек. Команда вызова имени помещает в стек имя ( косвенную ссылку) и также состоит из двух слогов. [26]
Разумеется, на таблицу можно ссылаться с помощью объектов любого типа данных, в то время как при косвенной ссылке выбор ограничен цепочками. Следует подумать также о том, нужно ли хранить список ссылочных элементов для косвенных ссылок. Преобразование же таблицы в массив позволяет получить подобный список легко и эффективно. [27]
Итак, вы познакомились с природой классов, которые могут быть отображены на экране в рабочем пространстве мастерской Application, и тех, которые не могут быть отображены. Таких случаев очень много, и совсем скоро вы более подробно изучите разницу между прямыми и косвенными ссылками на классы. [28]
Посредством формальных параметров данной программе передаются фактические параметры при ее вызове из других программ. Для обращения к фактическим параметрам из данной программы необходимо использовать имена формальных параметров в косвенных ссылках. [29]
Этот оператор может выполняться только в том случае, когда в верхушке стека расположен либо дескриптор данных, либо дескриптор косвенной ссылки. В том случае, если исходный дескриптор или косвенная ссылка указывают на следующий дескриптор или следующую косвенную ссылку, этот оператор, разворачивая всю цепочку ссылок, добирается, Наконец, до дескриптора или косвенной ссылки, указывающих на операнд. Эти последние в цепочке ссылок замещают исходный дескриптор в стеке. В том случае, если в верхушке магазина находится информация, отличная от дескриптора данных или косвенной ссылки, производится прерывание по запрещенной команде. Этот оператор доставляет средства, позволяющие добраться до конца косвенных ссылок и в дальнейшем пользоваться доступом к данным, минуя многоступенчатый поиск по памяти, отнимающий много времени. [30]