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

Косвенная ссылка

Cтраница 3


Аппарат дескрипторов является очень интересной особенностью машин фирмы Барроуз, и далее мы подробнее рассмотрим их назначение и функции. Косвенная ссылка может быть обращена к слову, которое, в свою очередь, само есть косвенная ссылка. Таким путем достигается многоуровневая косвенная адресация, причем длина цепочки косвенных ссылок ничем не ограничена. Следует подчеркнуть еще раз, что команда вызова имени завершает свою работу размещением косвенной ссылки в стеке, в отличие от оператора вызова значения, для выполнения которого может потребоваться аппаратный анализ цепочки косвенных ссылок, многократные обращения в память, в результате чего в верхушке стека должен оказаться операнд.  [31]

Вспомогательный процессор МАРВЕЛ представляет собой специализированный язык для манипулирования табличными данными. МАРВЕЛ обеспечивает: эффективную работу с большими массивами информации, автоматический обмен между оперативной и внешней памятью, символические и косвенные ссылки при поиске информации, гибкие средства индексации данных в массивах, автоматический перевод целочисленных переменных и переменных с плавающей запятой, работу с текстовыми данными, управление вычислительными процессами. Эти средства процессора МАРВЕЛ позволяют повысить эффективность работы МПС и расширить сферу ее применения.  [32]

В отличие от центрального процессора, в системе команд внешних процессоров широко развита косвенная адресация операндов. Это и понятно, так как аппарат А - и В-регистров ЦП, отсутствующий во внешних процессорах, по существу заменяет косвенные ссылки.  [33]

Аргументы передаются этой функции ЕЮ значению - ссдн функция новое значение переменной аргумента эта операция йилнстся докалы-юй н скрыта от вызывающей функции. Поэтому функция не может нзмснигь указопфли чисел с шаа-нуюшей точкой г к th tah no способна изменять значения чисел с помощью косвенной ссылки.  [34]

Аргументы передаются этой функции по значению - если функция присваивает новое значение переменной аргумента, эта операция является локальной и скрыта от вызывающей функции. Поэтому функция не может изменять указатели чисел с плавающей точкой г и theta, но способна изменять значения чисел с помощью косвенной ссылки.  [35]

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

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

Читателя ожидает множество сюрпризов. В Диалоге снова затрагиваются проблемы разума, сознания, свободной воли, искусственного интеллекта, теста Тюринга и так далее. Он заканчивается косвенной ссылкой на начало книги, таким образом превращая ее в гигантскую автороферентную Петлю, одновременно символизирующую музыку Баха, рисунки Эшера и Теорему Геделя.  [38]

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

Входными данными для него служат оттранслированная с исходного языка строка и таблица имен с учетом вложенных блоков. Так как ЦП работает с языком высокого уровня, а именно с объектной строкой обратной польской записи, то он использует для операндов стек магазинного типа. То есть при выборке данных осуществляется проход по всем косвенным ссылкам до точки, в которой находится адрес памяти, и затем прямая ссылка помещается в стек. Этот процесс продолжается до тех пор, пока в объектной строке не встретится оператор. Каждый оператор берет одну или две ( одноместный или двуместный оператор) записи из верхушки стека, производит обработку и результат ( ы) помещает в стек.  [40]

Аппарат дескрипторов является очень интересной особенностью машин фирмы Барроуз, и далее мы подробнее рассмотрим их назначение и функции. Косвенная ссылка может быть обращена к слову, которое, в свою очередь, само есть косвенная ссылка. Таким путем достигается многоуровневая косвенная адресация, причем длина цепочки косвенных ссылок ничем не ограничена. Следует подчеркнуть еще раз, что команда вызова имени завершает свою работу размещением косвенной ссылки в стеке, в отличие от оператора вызова значения, для выполнения которого может потребоваться аппаратный анализ цепочки косвенных ссылок, многократные обращения в память, в результате чего в верхушке стека должен оказаться операнд.  [41]

Оператор вызова имени формирует слово косвенного обращения ( Indirect Reference Word - IRW) и помещает его в верхушку магазина. Из шести младших разрядов первого слога и восьми разрядов второго слога данного оператора образуется 14-разрядный адрес, который размещается в младших разрядах формируемого слога. К полученному слову приформировываются разряды тега, обозначающие, что это слово есть косвенная ссылка. Полученное слово помещается в верхушку стека. Таким образом, в магазине оказывается ссылка, состоящая из указания номера базы и относительного адреса элемента или ссылки на описатели ( дескрипторы) переменных и массивов. В дескрипторах указывается абсолютный адрес по памяти искомой величины или база ( адрес нулевого элемента) массива, к которому предполагается обращение.  [42]

Следует отметить, что псевдокомпилятор dBASE IV при компилировании программ оставляет некомпилироваными команды, в которых используются функции макроподстановки, и возвращается к их компиляции уже в ходе выполнения программы, когда определено конкретное значение переменной с макроподстановкой. Это значительно замедляет процесс выполнения программ. Выше упоминалось, что в командах, включающих имена файлов, можно вместо функции макроподстановки использовать косвенную ссылку на имя файла в виде переменной ( заключаемую в скобки), в которую предварительно вводится его имя. При таком способе задания переменного имени файла команда выполняется значительно быстрее.  [43]

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

Это значение становится начальным значением соответствующего формального параметра, который при дальнейшем выполнении подпрограммы рассматривается как локальная простая переменная. Находится позиция памяти, связанная с именем переменной в среде ссылок в момент вызова. Передается указатель на эту позицию. Ссылка на формальный параметр в вызываемой подпрограмме обрабатывается как косвенная ссылка через этот указатель на позицию фактического параметра. Присваивание значения формальному параметру изменяет значение фактического параметра в вызывающей программе.  [45]



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