Двухоперандная команда - Большая Энциклопедия Нефти и Газа, статья, страница 2
Экспериментальный кролик может позволить себе практически все. Законы Мерфи (еще...)

Двухоперандная команда

Cтраница 2


Например, команда пересылки MOV не требует арифметических операций и использует два операнда. В то же время двухоперандная команда умножения MUL вовлекает в исполнение несколько арифметических операций. В том случае, если необходимо сохранить результат операции, привлекается дополнительная О-фаза.  [16]

Сначала содержимое счетчика команд помещается в регистр MAR. Памяти сообщается о том, что надо произвести ввод, и первое слово команды теперь помещается в регистр MDR. Из регистра MDR команда пересылается в регистр команды. Заданная операция осуществляется двухоперандной командой сложения. Для источника применяется относительная адресация, а для приемника - абсолютная. Этот факт определяется по содержимому полей источника и приемника в первом слове команды. Поскольку источник адресуется с помощью относительной адресации, для формирования адреса потребуется следующее слово команды. Содержимое PC помещается в регистр MAR. Памяти сообщается, что надо произвести ввод, и относительный адрес источника оказывается в регистре MDR. Адрес источника вычисляется сложением содержимого PC с относительным адресом источника. Для этого содержимое регистра MDR - относительный адрес источника - подается на один из входных фиксаторов сумматора, а содержимое PC - на другой. Сумматору дается команда произвести сложение, и в результате получается адрес источника. Результат, поступающий с выходного фиксатора сумматора, помещается в регистр MAR. Памяти сообщается, что надо произвести ввод, и значение источника, 1, поступает в регистр MDR. Оно временно помещается в фиксатор управляющего устройства для дальнейшего использования. Приемник адресуется по режиму 3 - абсолютная адресация.  [17]

Для начала определим, что представляет собой слово на языке ассемблера. Как отмечалось выше, ЦП вычислительной машины интерпретирует слова программы в качестве команд ЭВМ и выполняет назначенные задания. Машинный язык и состоит из набора этил; команд, каждая из которых может занимать одно или несколько ма-иинных слов. Например, приращение на единицу содержимого регистра будет представлять собой команду в одно слово ( однооперандную команду), в то время как сложение содержимого ячейки памяти с содержимым регистра является двухоперандной командой, в которой первое слово задает выполняемую операцию, а второе определяет ячейку памяти. К сожалению, не существует какого-либо стандартного машинного языка, поскольку различные ЭВМ используют различные языки. Программирование на машинном языке представляет собой очень утомительную работу, так как здесь приходится иметь дело со столбцами двоичных чисел, в которых каждый бит должен быть абсолютно правильным. Для того чтобы облегчить эту задачу, изготовителями ЭВМ поставляется программа, называемая ассемблером. Ассемблер позволяет составлять программы, используя для обозначения команд и символьных имен легко запоминающуюся мнемонику. Символьные имена выбираются программистом и служат для обозначения ячеек памяти и переменных. Программа, составленная на языке ассемблера, фактически представляющая собой не более чем ряд загадочных строчек из букв и чисел, обрабатывается затем с помощью другой программы, называемой ассемблером, в результате чего формируется программа на машинном языке ( объектный код), которая может быть выполнена с помощью ЭВМ. Каждая строчка на языке ассемблера преобразуется в несколько слов ( от одного до четырех) на машинном языке. Для конкретности рассмотрим язык ассемблера МО 16 и выполним несколько примеров.  [18]

Команда TST обрабатывает целое число и устанавливает биты кода условий в зависимости от его значения. Анализируемое слово не изменяется. Бит N устанавливается в единицу, если число отрицательно, бит Z - если число равно нулю, биты V и С всегда очищаются. Команда TST является однооперандной. Однооперандные команды имеют следующий формат: биты с 15 по 6 содержат код операции, биты с 6 по 0 - это поле приемника. Поле приемника делится на два сегмента так же, как и для двухоперандных команд.  [19]



Страницы:      1    2