Cтраница 1
Машинные адреса обычно указываются в шестнадцатеричной системе счисления. Как можно было бы включить в программу для достижения этой цели программу MemDump на распечатке 11.2. Средства низкого уровня Модулы-2 позволяют объявлять переменные для занятия конкретных ячеек памяти. [1]
Использование абсолютных машинных адресов в качестве указателей обеспечивает наиболее высокую скорость работы с файлом. [2]
Но сформировать машинные адреса этих констант в данном случае транслятор не сумеет и будет вынужден напечатать сообщение об ошибке. [3]
Однако значений ключей и машинных адресов очень много, поэтому особое внимание необходимо уделить методам установления соответствия между ключами и машинными адресами. Два наиболее популярных способа адресации подробно описаны в гл. [4]
Частное Q используется при вычислении машинного адреса записи ИНДЕКС-ГОРОДА. Вычисление выполняется с помощью алгоритма, газываемого программой вычисления адреса в файле. [5]
Таким образом, программирование в машинных адресах требует знания системы команд конкретной ЭВМ и их адресности. При этом реализация даже довольно несложных вычислений требует разложения их на простые операции, что значительно увеличивает общий объем программы и затрудняет ее чтение и отладку. [6]
В процессе трансляции символические адреса преобразуются в действительные машинные адреса в соответствии с распределением памяти, которое автоматически выполняет транслятор, называемый ассемблером. Для того чтобы избавить программиста от необходимости написания идентичных частей программ, во многие языки ассемблера вводятся макросредства, которые позволяют программисту определять некоторую последовательность команд как макроопределение. При написании программы в местах, где требуется выполнение этой последовательности, программист ставит макрообращение с указанием фактических параметров, а ассемблер при трансляции подставляет вместо макрообращения макроопределение с соответствующими фактическими параметрами. [7]
При составлении программы на основном машинном языке используются действительные машинные адреса и коды команд. Этот способ программирования, часто называемый кодированием, является весьма трудоемким и, как правило, требует много времени, хотя сами программы получаются компактными, что приводит к экономии машинного времени. Язык высшего порядка адресуется к машине посредством программы транслятора. Такой способ программирования дает программы большего объема в сравнении с программами, составленными непосредственно на основном машинном языке, и, следовательно, требующие большего машинного времени. Кроме того, для их размещения необходимы большие объемы памяти. Однако сам процесс программирования облегчается и требует меньше времени. Несмотря на положительные стороны, свойственные этому способу программирования, при создании моделей его применяют не всегда. [8]
Трехадресные команды наиболее удобны при составлении программ в машинных адресах и позволяют сделать программу короче. Применение трехадресных команд увеличивает быстродействие ЦВМ, и поэтому они широко применялись в машинах первого и второго поколений. Длина трехадресной команды избыточна в случае выполнения одно - и двухадресных команд в ЦВМ, которых множество, а также, если результат предыдущей команды используется в последующей. Поэтому эффективность трехадресных команд снижается, особенно при использовании автоматического программирования. В современных ЦВМ адресность команд переменна и зависит от длины ( формата) команды. Так, начиная с команды длиной в байт, разрешается адресация. Широко распространены команды длиной 2; 4; 6 байт. [9]
Последний тип данных - это указатели, которые представляют собой машинные адреса. Мы уже неоднократно рассматривали указатели. [10]
Трехадресные команды являются наиболее удобными при составлении программ в машинных адресах. Программы из таких команд содержат меньшее их число, чем одноадресные и двухадресные программы. Поэтому Трехадресные машины характеризуются большей производительностью по сравнению с ЦВМ другой адресности, и получили большое распространение среди машин первого и второго поколений. [11]
В качестве адресов записей файла во внешней памяти используют: машинный адрес; относительный адрес; ключ записи. [12]
В ассоциативной памяти размещение записи и ее выборка определяются не машинным адресом, а ее содержимым. На рис. 36.1 показаны массивы обычной и ассоциативной памяти. [13]
Символьный адрес поля М в следующей команде транс ятор заменит машинным адресом Ом ( 12 0), где величина смещения DM вычисляется как разность DM М - BASADR. Точно так же будет поступать транслятор со всеми символьными адресами в последующих машинных командах. [14]
Наиболее распространенной формой индекса является индекс, который в конечном счете предоставляет нам машинный адрес требуемой при поиске записи. [15]