Cтраница 3
Имя DATA определено в поле метки и имеет значение адреса области памяти, в которой хранится восьмеричный код латинской буквы А. BYTE является именем директивы, которая резервирует один байт памяти и записывает в него указанное в поле операндов число. Имя MOVB обозначает КОП пересылки одного байта данных. Указанные в поле операндов имена DATA и RD задают адреса областей, между которыми пересылается байт данных. [31]
Например, для считывания команды необходимо сначала определить значение нужного адреса памяти и декодировать его. Только после этого первый байт команды можно передавать в ЦП и записывать в регистр команды. Таким образом, состояние - это простейшее действие, которое может быть выполнено в микро - ЭВМ. Состояние выполняется в течение одного периода сигнала тактирования, а в отдельном машинном цикле может быть от трех до пяти состояний. [32]
Когда в поле метки появляется идентификатор, ему присваивается значение адреса. Если идентификатор появляется в поле операнда, то ассемблер подставляет значение, которое было ему присвоено. [33]
Кроме значения самого факта, переменной может быть присвоено значение адреса факта. Это может оказаться удобным при необходимости манипулировать фактами непосредственно из правила. [34]
Транслятору с языка ассемблера при обработке основной программы неизвестно значение адреса типа V, поскольку оно зависит от размещения подпрограммы в памяти. Ассемблер резервирует полное слово и помечает его как внешнюю ссылку. При загрузке в память адрес внешнего имени определяется загрузчиком и помещается на зарезервированное место. [35]
Тип операнда - выражение - требует от системы программирования вычисления значения адреса по компонентам, входящим в операнд-выражение. В общем случае операнд-выражение является полным арифметическим выражением, но обычно в автокодах вводятся сокращения. Своеобразным является выражение, содержащее в качестве элементарного выражения значение счетчика адреса. В автокоде ЯУЗА он обозначается знаком f, в БЕМШ - звездочкой. [36]
Указатели - это переменные, которые содержат в качестве своих значений адреса других переменных. [37]
Прямая и косвенная ссылки на переменную. [38] |
Указатели - это переменные, которые содержат в качестве своих значений адреса памяти. С другой стороны, указатель содержит адрес переменной, которая содержит определенное значение. Ссылка на значение посредством указателя называется косвенной адресацией. [39]
Чтение и запись информации в память может происходить, если определено значение соответствующего адреса памяти. Этот адрес указывает ячейку памяти, предназначенную для записи или считывания байта команды или байта данных. Центральный процессор передает адрес из регистра в память по шине адреса. Для доступа к памяти требуется некоторое время, в силу чего возможность обратиться к нужному слову в памяти появляется не сразу. Существование такой задержки обусловливает необходимость хранения адреса, сформированного центральным процессором, в течение определенного промежутка времени. Чтобы это было возможно, в большинстве микро - ЭВМ встраивается специальный регистр, предназначенный для хранения адреса памяти и называемый регистром адреса. [40]
Переменные А, А, , А, будем использовать для обозначения значений адресов памяти. [41]
При работе с указателями в большинстве случаев не приходится иметь дело со значениями адресов, записанных в указателях. В предыдущих разделах отмечалось, что после присвоения указателю адреса переменной значением указателя будет именно этот адрес. [42]
При выполнении операции безусловного переходаТ адресу команды, хранимому на СчАК, присваивается значение адреса, представленного в команде безусловного перехода. [43]
В пореместимом выражении S2 можно употреблять звездочку для обозначения счетчика адреса, имеющего значение адреса первого байта команды, которая на него ссылается. [44]
Полученные числа умножаются на константу, что позволяет разместить их строго в диапазоне значений адресов основной области. Например, пусть в результате выполнения этапа 2 мы получаем четырехзначные числа, а в основной области имеется 7000 пакетов. [45]