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

Признак - перенос

Cтраница 3


Например, команда CNZ ( Call on No Zero) выполняется только в том случае, когда признак НУЛЬ в регистре признаков не равен 1 в данный момент. В свою очередь, команда RC ( Return on Carry) выполняется только при наличии признака переноса.  [31]

Информация в регистр N поступает через мультиплексор регистра N. Операции, выполняемые регистром N, делятся на: поразрядные, когда в любой из разрядов производится запись О или 1; регистровые, когда операция осуществляется над всем словом; операции записи, при выполнении которых запись признаков состояния с входной шины I в регистр N производится либо непосредственно, либо с модификацией, например с инверсией признака переноса.  [32]

Арифмегическо-логическое устройство ( АЛУ) обеспечивает выполнение арифметических, логических операций и операций сдвига над двоичными данными, представленными в дополнительном коде, или над двоично-десятичными данными. Устройство содержит схему десятичной коррекции, позволяющую производить операции десятичной арифметики. По результатам операций в АЛУ формируется ряд признаков, которые записываются в регистр условий, Признак переноса С устанавливается в единицу, если в результате выполнения команды появляется перенос из старшего разряда, Дополнительный признак переноса С1 устанавливается в единицу при возникновении переноса из третьего разряда. Используется в командах десятичной арифметики. Признак четности Р устанавливается в единицу, если число единиц в разрядах результата четное. Признак нуля Z устанавливается в единицу, если результат равен нулю, Признак знака S указывает знак числа и равен единице, если число отрицательное, или нулю, если число положительное.  [33]

Команда CMP r позволяет сравнивать два числа, находящихся в аккумуляторе и в регистре г. Сравнение осуществляется вычитанием из содержимого аккумулятора содержимого регистра г. Вычитание производится без изменения содержимого аккумулятора. Результат вычитания проявляется только в воздействии на признаки регистра признаков. Если значение числа, находящегося в аккумуляторе, меньше значения второго числа, находящегося в регистре г, то устанавливается в единицу признак переноса С. В противном случае признаки Z и С устанавливаются в ноль.  [34]

Арифметическо-логическое устройство ( АЛУ) обеспечивает выполнение арифметических, логических операций и операций сдвига над двоичными данными, представленными в дополнительном коде, или над двоично-десятичными данными. Устройство содержит схему десятичной коррекции, позволяющую производить операции десятичной арифметики. По результатам операций в АЛУ формируется ряд признаков, которые записываются в регистр условий. Признак переноса С устанавливается в единицу, если в результате выполнения команды появляется перенос из старшего разряда. Дополнительный признак переноса С1 устанавливается в единицу при возникновении переноса из третьего разряда. Используется в командах десятичной арифметики. Признак четности Р устанавливается в единицу, если число единиц в разрядах результата четное. Признак нуля Z устанавливается в единицу, если результат равен нулю. Признак знака S указывает знак числа и равен единице, если число отрицательное, или нулю, если число положительное.  [35]

В регистре признаков используются только девять разрядов. Шесть ш них служат для регистрации особенностей результата арифметических и логических операций. Признак вспомогательного переноса AF используется командами десятичной арифметики. Признак переноса CF используется командами сложения и вычитания многобайтовых чисел. Команды циклического сдвига могут изолировать сдвигаемый разряд в памяти или регистре путем размещения его в разряде признака переноса.  [36]

Например, при сложении двух чисел с длиной в два слова сначала складываются их младшие слова с помощью команды ADD r или ADI data. При этом может образоваться перенос из старшего разряда младшего слова суммы. Затем с помощью команды ADC r или ACI data производится сложение старших слов чисел. Если перенос имел место, то единица, занесенная в разряд признака переноса С регистра признаков, будет участвовать в сложении старших слов. Аналогично организуется вычитание многоразрядных чисел. Если, например, при вычитании младших слов двух чисел с длиной в два слова, производимом с помощью команды SUB r или SUI data, возникает заем из старшего разряда, то в разряд признака переноса С заносится единица, которая должна учитываться при вычитании старших слов этих чисел.  [37]

38 Схема выполнения. [38]

После выполнения операций проводится анализ, яе произошло ли переполнение разрядной сетки. Наиболее часто анализ на переполнение выполняется путем проверки переносов в знаковый разряд и из него. Если в знаковый разряд и из него переносятся 00 или 11, то переполнение отсутствует, если же 01 или 10, то переполнение есть. В случае, когда переполнение отсутствует, результат - число С запоминается и, если нужно, формируется - признак межбайтового переноса. Если же sign ( С) 0, то дополнительный код числа преобразуется вначале в обратный, а затем в прямой.  [39]

Регистр признаков ( регистр флажков) в более ранних разработках был предназначен только для хранения признаков результата операции. Поскольку результаты всех операций, выполненных АЛУ, передаются в аккумулятор, можно сказать, что регистр признаков содержал информацию о данных, пересылаемых из АЛУ в аккумулятор. JV-флажков ( триггеров), причем каждый из разрядов хранил информацию о каком-либо одном признаке результата выполненной операции. Например, разряд признака переноса устанавливается в единичное состояние при наличии переноса из старшего разряда или при займе в старший разряд.  [40]

Регистр признаков ( регистр флажков) в более ранних разработках был предназначен только для хранения признаков результата операции. Поскольку результаты всех операций, выполненных АЛУ, передаются в аккумулятор, можно сказать, что регистр признаков содержал информацию о данных, пересылаемых из АЛУ в аккумулятор. V-флажков ( триггеров), причем каждый из разрядов хранил информацию о каком-либо одном признаке результата выполненной операции. Например, разряд признака переноса устанавливается в единичное состояние при наличии переноса из старшего разряда или при займе в старший разряд.  [41]

В регистре признаков используются только девять разрядов. Шесть ш них служат для регистрации особенностей результата арифметических и логических операций. Признак вспомогательного переноса AF используется командами десятичной арифметики. Признак переноса CF используется командами сложения и вычитания многобайтовых чисел. Команды циклического сдвига могут изолировать сдвигаемый разряд в памяти или регистре путем размещения его в разряде признака переноса.  [42]

Эти команды имеют свои особенности для разных типов МП. Поэтому при использовании данных команд в каждом конкретном случае необходимо обратиться к материалам фирмы-изготовителя используемого МП и тщательно разобраться в действиях, осуществляемых при выполнении указанных команд. Команды сдвигов в большинстве случаев предназначены для выполнения операций только над содержимым аккумулятора. На рис. 3.40 схематически показано, как производится сдвиг содержимого аккумулятора командами RLC, RRC, RAL и RAR. В операциях сдвига участвует разряд признака переноса С регистра признаков. Каждая из команд сдвигает содержимое аккумулятора на один разряд влево или вправо.  [43]

Эти команды имеют свои особенности для разных типов МП. Поэтому при использовании данных команд в каждом конкретном случае необходимо обратиться к материалам фирмы-изготовителя используемого МП и тщательно разобраться в действиях, осуществляемых при выполнении указанных команд. Команды сдвигов в большинстве случаев предназначены для выполнения операций только над содержимым аккумулятора. На рис. 3.40 схематически показано, как производится сдвиг содержимого аккумулятора командами RLC, RRC, RAL и RAR. В операциях сдвига участвует разряд признака переноса С регистра признаков. Каждая из команд сдвигает содержимое аккумулятора на один разряд влево или вправо. При необходимости сдвинуть содержимое аккумулятора на большее число разрядов команду необходимо повторить требуемое число раз.  [44]

Например, при сложении двух чисел с длиной в два слова сначала складываются их младшие слова с помощью команды ADD r или ADI data. При этом может образоваться перенос из старшего разряда младшего слова суммы. Затем с помощью команды ADC r или ACI data производится сложение старших слов чисел. Если перенос имел место, то единица, занесенная в разряд признака переноса С регистра признаков, будет участвовать в сложении старших слов. Аналогично организуется вычитание многоразрядных чисел. Если, например, при вычитании младших слов двух чисел с длиной в два слова, производимом с помощью команды SUB r или SUI data, возникает заем из старшего разряда, то в разряд признака переноса С заносится единица, которая должна учитываться при вычитании старших слов этих чисел.  [45]



Страницы:      1    2    3