Разделы:
Best links:
Арифметические команды
Команда ADC имеет форматы, аналогичные форматам команды ADD.
Команда INCвызывает увеличение на единицу (инкрементирование) содержимого регистра или памяти. Необходимо отметить, что эта команда, так же как и команда DEC, влияет на все флаги, кроме CF.
Операции вычитания. Включают пять мнемокодов: SUB(вычесть), SBB (вычесть с учетом заема), DEC (уменьшить на единицу), NEG (изменить знак) и СМР (сравнить).
По команде SUBпроисходит вычитание операнда источника из операнда места назначения. Как и в команде сложения, операнды могут находиться в регистрах и памяти. В качестве вычитаемого может также служить операнд (константа), заданный непосредственно в команде.
Команда SBBслужит для вычитания операндов с учетом заема, т. е. наряду с операндами в вычитании участвует значение флага CF.
Команда DECвызывает уменьшение на единицу (декрементирование) содержимого регистра или памяти и имеет два формата, как и команда INC.
Команда NEGизменяет знак операнда, причем используется представление операнда в дополнительном коде. Например, если операнд есть -1 (11111111), то команда NEG изменит его на + 1 (00000001).
Команда СМР служит для сравнения двух операндов путем вычитания значения операнда места назначения из операнда источника. В отличие от обычного вычитания полученная разность никуда не заносится, а результатом операции сравнения являются значения флагов, которые устанавливаются в зависимости от соотношения сравниваемых операндов. Команда СМР имеет форматы, аналогичные команде вычитания.
Операции умножения. Включают два мнемокода: MUL (умножить) и IMUL (умножить числа со знаком).
По команде MULпроисходит умножение без знака содержимого аккумулятора (ALили АХ) на операнд источника, а результат двойной длины возвращается в аккумулятор и регистр, используемый для его расширения (в AL и АН в случае 8-разрядных операндов или в АХ и DX в случае 16-разрядных операндов). Команда затрагивает только два флага CF и OF, которые устанавливаются в «1», если старшая половина результата отлична от нуля.
предыдущаяследующая© Copyright, 2009.
Для связи: info@dgs-srl.com.