Cтраница 1
Обработка машинной команды завершается просмотром поля операндов, включая строку продолжения, если она есть. Литералы, встретившиеся в поле операндов, заносятся в таблицу литералов вместе с характеристикой длины. [1]
Обработка машинной команды, как и при первом просмотре, начинается с выравнивания счетчика адреса на границу полуслова и формирования объектного кода операции, который уже определен в блоке 2 по таблице операций. Напомним, что границей между операндами является запятая, а признаком конца поля операндов служит пробел. [2]
Как и при обработке машинной команды, предварительно счетчик адреса выравнивается на границу полу слова. [3]
Перед обработкой команды CNOP, как и перед обработкой машинных команд, ассемблер выравнивает счетчик адреса на, границу полуслова, если это необходимо, а затем происходит выравнивание на указанную границу. [4]
Итак, в момент, когда Ассемблер приступает к обработке машинной команды, содержащей неявный адрес, в таблице базовых регистров он находит номер по крайней мере одного общего регистра, который ему разрешено использовать в качестве базового, и значение базового адреса в этом регистре. [5]
Авторы Временных методических указаний исходя из формулы (3.5) работу устройств системы при выполнении задания рассматривают как реализацию действий либо по обработке машинных команд, либо по передаче данных между устройствами. При обработке машинных команд работает цепочка устройств, состоящая из ОЗУ и процессора. В передаче данных участвует цепочка устройств, включающая ОЗУ, канальный процессор, устройство управления, периферийное устройство и, возможно, магнитный носитель информации. В связи с этим предлагается учет стоимости работы цепочек устройств и дифференциацию важности различных типов функциональных работ осуществлять весовыми коэффициентами. [6]
Авторы Временных методических указаний исходя из формулы (3.5) работу устройств системы при выполнении задания рассматривают как реализацию действий либо по обработке машинных команд, либо по передаче данных между устройствами. При обработке машинных команд работает цепочка устройств, состоящая из ОЗУ и процессора. В передаче данных участвует цепочка устройств, включающая ОЗУ, канальный процессор, устройство управления, периферийное устройство и, возможно, магнитный носитель информации. В связи с этим предлагается учет стоимости работы цепочек устройств и дифференциацию важности различных типов функциональных работ осуществлять весовыми коэффициентами. [7]
При обработке типичной машинной команды ЦП получает саму команду, размеры которой фиксированы ( обычно 16 - 36 бит), и несколько коротких строк битов ( операнды) в памяти, причем предполагается, что входные данные имеют жесткий формат. Более того, значения операндов не оказывают существенного влияния на выполнение большинства команд, и во многих ЦП выполнение команды не зависит от выполнения предыдущих. По сравнению с этим входные данные системы программного обеспечения значительно разнообразнее; обычно нужно учитывать все, что пользователь может захотеть ввести в систему. К тому же в большинстве случаев обработка элемента входных данных зависит от предыстории. [8]
Если блок 2 не обнаружил комментария, то с помощью таблицы операций определяется тип команды ( блок 4): машинная, макрокоманда или псевдокоманда. Отсутствие мнемонического кода операции в таблице означает, что оператор содержит запрещенную команду. Номер оператора, содержащего запрещенную команду, заносится в таблицу ошибок ( блок 5) с соответствующим признаком, и обработка ее продолжается так же, как обработка машинной команды. [9]
Символический адрес пли символическое имя является термом, значение которому присваивает Ассемблер. Символическое имя обязательно должно встретиться в поле имени программы. Ассемблер перед трансляцией организует счетчик адреса, в который заносится нуль или абсолютное значение из операнда псевдокоманды START. После обработки машинной команды значение счетчика адреса увеличивается на длину команды. Если поле памяти, куда помещается объектная команда пли константа, имеет имя, то ему присваивается значение счетчика адреса. При перемещении программы значение символического адреса меняется, поэтому этот терм является перемещаемым. [10]