Системное программное обеспечение. Рощин А.В. - 21 стр.

UptoLike

Составители: 

21
изменяются, значения флагов обновляются, что может быть учтено в
последующих командах условного перехода. Команда CMP воздействует
на флаги AF, CF, OF, PF, SF и ZF. При совпадении значений операндов
взводится флаг ZF. Флаг переноса взводится, если операнд назначения
меньше операнда-источника.
AAS
Команда AAS (коррекция вычитания неупакованных десятичных
чисел) корректирует результат предшествующего вычитания двух
правильных неупакованных десятичных чисел. Операндом назначения
в
команде вычитания должен быть регистр AL. Команда AAS приводит
значение в AL к виду правильного неупакованного десятичного числа;
старший полубайт при этом обнуляется. AAS воздействует на флаги AF и
CF; Значение флагов OF, PF, SF и ZF после выполнения команды AAS
неопределено.
DAS
Команда DAS (десятичная коррекция вычитания) корректирует
результат предшествующего вычитания двух правильных неупакованных
десятичных чисел. Операндом назначения в команде
вычитания должен
быть регистр AL. Команда DAS приводит значение в AL к виду двух
правильных упакованных десятичных чисел. Команда DAS воздействует
на флаги AF и CF. Значение флагов OF, PF, SF и ZF после выполнения
команды DAS неопределено.
Умножение
MUL (операнд-источник)
Команда MUL (умножение) выполняет беззнаковое умножение
операнда-источника и содержимого аккумулятора. Если операнд-источник
однобайтовый, осуществляется умножение на содержимое
регистра AL, а
двухбайтовый результат возвращается регистрах AH и AL. Если операнд-
источник двухбайтовый, существляется умножение на содержимое
регистра AX, а четырехбайтовый результат возвращается в паре регистров
DX и AX.
Операнды рассматриваются как беззнаковые двоичные числа. Если
старшая половина результата (регистр AH при однобайтовом умножении и
DX при двухбайтовом умножении) взводятся флаги CF и OF, в противном
случае эти флаги
сбрасываются.
Если после выполнения умножения взведены флаги CF и OF, это
говорит о наличии значащих цифр результата в регистре AH или DX.
Содержимое флагов AF, PF, SF и ZF после выполнения команды
умножения неопределено.
                                  21



изменяются, значения флагов обновляются, что может быть учтено в
последующих командах условного перехода. Команда CMP воздействует
на флаги AF, CF, OF, PF, SF и ZF. При совпадении значений операндов
взводится флаг ZF. Флаг переноса взводится, если операнд назначения
меньше операнда-источника.
     AAS
     Команда AAS (коррекция вычитания неупакованных десятичных
чисел) корректирует результат предшествующего вычитания двух
правильных неупакованных десятичных чисел. Операндом назначения в
команде вычитания должен быть регистр AL. Команда AAS приводит
значение в AL к виду правильного неупакованного десятичного числа;
старший полубайт при этом обнуляется. AAS воздействует на флаги AF и
CF; Значение флагов OF, PF, SF и ZF после выполнения команды AAS
неопределено.
     DAS
     Команда DAS (десятичная коррекция вычитания) корректирует
результат предшествующего вычитания двух правильных неупакованных
десятичных чисел. Операндом назначения в команде вычитания должен
быть регистр AL. Команда DAS приводит значение в AL к виду двух
правильных упакованных десятичных чисел. Команда DAS воздействует
на флаги AF и CF. Значение флагов OF, PF, SF и ZF после выполнения
команды DAS неопределено.

     Умножение

     MUL (операнд-источник)
     Команда MUL (умножение) выполняет беззнаковое умножение
операнда-источника и содержимого аккумулятора. Если операнд-источник
однобайтовый, осуществляется умножение на содержимое регистра AL, а
двухбайтовый результат возвращается регистрах AH и AL. Если операнд-
источник двухбайтовый, существляется умножение на содержимое
регистра AX, а четырехбайтовый результат возвращается в паре регистров
DX и AX.
     Операнды рассматриваются как беззнаковые двоичные числа. Если
старшая половина результата (регистр AH при однобайтовом умножении и
DX при двухбайтовом умножении) взводятся флаги CF и OF, в противном
случае эти флаги сбрасываются.
     Если после выполнения умножения взведены флаги CF и OF, это
говорит о наличии значащих цифр результата в регистре AH или DX.
Содержимое флагов AF, PF, SF и ZF после выполнения команды
умножения неопределено.