Cтраница 4
Текущее значение счетчика адреса, который ведет компилятор для распределения памяти предложениями языка Ассемблера исходной программы, также может использоваться в качестве константы. [46]
Характеристика длины счетчика адреса ( аналогично случаю ссылки на характеристику длины) равна длине команды, в которой используется значение счетчика. [47]
Выравнивание значения счетчика адреса при этом не производится. Если модификатор длины не задан, компилятор производит выравнивание, ориентируясь на тип объявляемой переменной. Для переменных типа С, X, Р, Z, В выравнивания не происходит. [48]
ODD управляют счетчиком адресов LC. Дело в том, что команды и ряд директив ассемблера при трансляции должны размещаться по четному адресу. Она добавляет единицу к содержимому LC, если оно нечетное, и оставляет LC без изменения в противном случае. ODD без аргументов выполняет обратную функцию, обеспечивая нечетноезначение счетчика адресов: если значение LC нечетное, никаких действий не производится, в противном случае к нему добавляется единица. [49]
![]() |
Схема управления маркером. [50] |
БЗУ на счетчике адреса ( СчА) с адресом маркера происходят пересылка кода символа на PC БЗУ и его запись по заданному адресу. [51]
В трансляторе имеется счетчик адреса, текущее значение которого и определяет адрес ячейки, в которую помещается очередная команда, так что именно значение счетчика адреса становится значением метки ( если она имеется) этой команды. Затем значение счетчика адреса увеличивается на единицу и производится дальнейшая обработка программы. [52]