Cтраница 2
Стековая структура. [16] |
Действие: ( ADR: rSP ADR: ( rSP - i SP: SP-2; б) многократное размещение. Не используемый больше адрес массива данных перезаписывается вместе с содержимым верхнего регистра. Тем самым верхний регистр освобождается. [17]
Обращение к программе происходит при обработке информации массивов ZNAKI и PRIZN. Программе передаются два параметра: адрес массива и порядковый номер переменной. Алгоритм программы заключается в поиске и выделении в отдельный регистр соответствующего элемента четырехбитовой конфигурации массива ZNAKI или PRIZN. Результат работы программы - четырехбитовый элемент - передается в 4 - й регистр. [18]
Если будет записано значение в массив TargetArray по адресу, выходящему за пределы этого массива, то значения массивов-часовых изменятся. Одни компиляторы ведут отсчет по возрастающей от адреса массива, другие - по убывающей. [19]
Оба эти способа обладают общими особенностями - неизвестно их количество и неясно взаимное расположение ячеек. Это становится препятствием, если нужно указывать адреса массивов последовательных ячеек. Поэтому для их адресации используют буквенно-цифровые условные адреса. В их состав входит буква, единая для всего массива, и цифровая часть в виде натурального ряда чисел. [20]
Массив ADDR будет содержать следующую информацию: смещение от нижней границы резидентного монитора до первого блока управления терминалом; смещение от нижней границы резидентного монитора до блока управления системным терминалом; число блоков управления терминалом в системе; объем блока управления терминалом в байтах; четыре слова зарезервированы. Функция возвращает значение: 5 - в ХМ-мониторе адрес массива ADDR находится вне границ задания. [21]
Такой поход, предусматривающий использование массива индексов вместо реальных элементов, работает в любом языке программирования, который поддерживает массивы. Будучи выполненной на массиве элементов фиксированного размера, сортировка по указателям во многом эквивалентна индексной сортировке, но при этом адрес массива добавляется к каждому индексу. Но сортировка по указателям - это более общая форма сортировки, ибо указатели могут указывать на что угодно, а элементы, подвергающиеся сортировке, отнюдь не обязательно должны иметь фиксированные размеры. [22]
Здесь используется то обстоятельство, что компилятор фортрана не проверяет индекс на превышение границы, а процедура получает через параметр А адрес массива во внешней программе. [23]
Если терминал закреплен за другим заданием, то JOBN будет содержать номер этого задания. Функция возвращает значение: 2 - терминал не принадлежит заданию; 3 - задан номер несуществующего терминала; 4 - терминал закреплен за другой задачей; 6 - в ХМ-мониторе адрес массива ADDR находится вне границ задания. [24]
Поясним назначение фиктивной секции па примере. Предположим, что в одной программе сформировался массив информации, который требуется использовать в другой программе. Адрес массива может быть передан в общем регистре. Этот регистр можно определить как базовый для обращения к массиву. Однако если нам требуется обратиться к элементам этого массива, то мы вынуждены пользоваться явной адресацией, указывая смещение элемента относительно начала массива. [25]
Имена Port и PortW могут стоять только в операторах присваивания. Не имеет смысла взятие адреса массивов Port или их отдельных элементов. [26]
Те же методы, которые применялись для обнуления ячейки, могут быть использованы и для обнуления массива. На рис. 2.11 приведены пример программы обнуления массива и соответствующая ей блок-схема. В этом примере командой MOV в R1 заносится адрес массива А ( поскольку первый операнд - это фА, то адрес А заносится в R1); теперь, с помощью содержимого R1, можно адресоваться косвенным образом. [27]
В зависимости от принципа размещения и поиска информации различают ЗУ адресные и безадресные. Большинство современных ЗУ является адресными. В них место обращения определяется адресом ячейки или адресом массива ячеек, хранящих информацию. [28]
F - имя процедуры-функции; 6, - фактические параметры, при которых должна быть выполнена процедура с именем F. Обращение к процедуре-функции размещается в выражении в том месте, где необходимо ее выполнение. Фактические параметры могут быть простыми или индексными переменными, константами, адресами массивов, выражениями. [29]
Дескрипторы и управляют, и еслов а. Слово-описатель содержит 20-разрядный адрес начального элемента массива по памяти или, что то же самое, базу массива. В том случае, когда соответствующего массива данных нет в памяти, в поле базы указывается адрес массива на внешних носителях. Отсутствие или наличие описываемого массива в памяти метится определенным ( 47 - м) разрядом, который называется разрядом присутствия. Если в процессе выполнения программы произошло обращение к дескриптору, разряд присутствия которого находится в нуле, производится прерывание, и операционная система подкачивает необходимый массив на свободное место оперативной памяти, считывая его с дисков, сообразуясь с указателями, содержащимися в поле базы. Тем самым достигается динамизм обращения к данным: в оперативной памяти массивы оказываются в том случае, если к ним произошло обращение. Заранее резервировать память для массивов не обязательно. [30]