54. Арифметические команды

54. Арифметические команды

Такие команды работают с двумя типами:

1) целыми двоичными числами, то есть с числами, закодированными в двоичной системе счисления.

Десятичные числа – специальный вид представления числовой информации, в основу которого положен принцип кодирования каждой десятичной цифры числа группой из четырех бит.

Микропроцессор выполняет сложение операндов по правилам сложения двоичных чисел.

В системе команд микропроцессора имеются три команды двоичного сложения:

1) inc операнд – увеличение значения операнда;

2) add операнд1, операнд2 – сложение;

3) adc операнд1,операнд2 – сложение с учетом флага переноса cf.

Вычитание двоичных чисел без знака

Если уменьшаемое больше вычитаемого, то разность положительна. Если уменьшаемое меньше вычитаемого, возникает проблема: результат меньше 0, а это уже число со знаком.

После вычитания чисел без знака нужно анализировать состояние флага CF. Если он установлен в 1, то произошел заем из старшего разряда и результат получился в дополнительном коде.

Вычитание двоичных чисел со знаком Но для вычитания способом сложения чисел со знаком в дополнительном коде необходимо представлять оба операнда – и уменьшаемое, и вычитаемое. Результат тоже нужно рассматривать как значение в дополнительном коде. Но здесь возникают сложности. Прежде всего они связаны с тем, что старший бит операнда рассматривается как знаковый.

По содержимому флага переполнения of. Его установка в 1 говорит о том, что результат вышел за диапазон представления знаковых чисел (т. е. изменился старший бит) для операнда данного размера, и программист должен предусмотреть действия по корректировке результата.

Принцип вычитания чисел с диапазоном представления, превышающим стандартные разрядные сетки операндов, тот же, что и при сложении, т. е. используется флаг переноса cf. Нужно только представлять себе процесс вычитания в столбик и правильно комбинировать команды микропроцессора с командой sbb.

Для умножения чисел без знака предназначена команда

mul сомножитель_1

Для умножения чисел со знаком предназначена команда

[imul операнд_1, операнд_2, операнд_3]

Для деления чисел без знака предназначена команда div делитель

Для деления чисел со знаком предназначена команда idiv делитель

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Арифметические операции

Из книги автора

Арифметические операции Для работы с числами используют арифметические операции.• Сложение – знак плюс (+). Например, 5 + 7 = 12.• Вычитание – знак минус (-). Например, 67 – 43 = 24.• Умножение – звездочка (*). Например, 2 * 2 = 4.• Деление – косая черта (/). Например, 45 / 5 = 9.• Остаток от


Арифметические операторы

Из книги автора

Арифметические операторы Арифметические операторы языка VBScript представлены в табл. П2.10.Таблица П2.10. Арифметические операторы Оператор Описание - (унарный оператор) Изменение знака аргумента на противоположный - (бинарный оператор) Вычитание двух чисел + Сложение двух


Арифметические операторы

Из книги автора

Арифметические операторы Арифметические операторы служат для выполнения арифметических действий над числами. Все арифметические операторы, поддерживаемые JavaScript, перечислены в табл. 14.2.Таблица 14.2. Арифметические операторы Арифметические операторы делятся на две


Арифметические операторы

Из книги автора

Арифметические операторы Арифметические операторы служат для выполнения арифметических действий над числами. Все арифметические операторы, поддерживаемые JavaScript, перечислены в табл. 14.2.Таблица 14.2. Арифметические операторы Арифметические операторы делятся на две


Арифметические операции

Из книги автора

Арифметические операции + – сложение— – вычитание* – умножение/ – делениеDIV – деление нацелоMOD – остаток от деления


Арифметические операции

Из книги автора

Арифметические операции Унарные операции – применяются к одной переменной.++ – увеличение на единицу (x++ выдаёт старое значение, ++x – новое значение).– – – уменьшение на единицу, аналогично операции ++.Бинарные операции – стоят между двумя переменными или


Арифметические операторы

Из книги автора

Арифметические операторы Арифметические операторы возвращают значения, соответствующие типам числовых операндов:• + — сложение;• – — вычитание;• * — умножение;• / — деление чисел с плавающей запятой;• div — целочисленное деление с отбрасыванием остатка;• mod —


Арифметические развлечения

Из книги автора

Арифметические развлечения Есть много примеров арифметических игр, головоломок и развлечений. Их можно найти в [BAL], [BER], [KUE]. Мы обращаемся и к другим источникам и добавляем некоторые задачи, которые представляют интерес собственно с точки зрения программирования. Многие


I. Арифметические операции

Из книги автора

I. Арифметические операции + Прибавляет величину, находящуюся справа, к величине, стоящей слева - Вычитает величину, стоящую справа, из величины, указанной слева - Будучи унарной операцией, изменяет знак величины, стоящей справа * Умножает величину справа на величину,


4.2. Арифметические операции

Из книги автора

4.2. Арифметические операции Таблица 4.1. Арифметические операции Символ операции Значение Использование * Умножение expr*expr / Деление expr / expr % Остаток от деления expr % expr + Сложение expr + expr - Вычитание expr – expr Деление целых чисел дает в результате целое


Арифметические операции

Из книги автора

Арифметические операции Арифметические выражения вычисляются слева направо за исключением случаев, когда возникает двусмысленность. В этих случаях арифметические операции вычисляются в соответствии с приоритетами, описанными в табл. 21.3. Например, умножение


6.6 Арифметические Преобразования

Из книги автора

6.6 Арифметические Преобразования Большое количество операций вызывают преобразования и дают тип результата одинаковым образом. Этот стереотип будет называться «обычным арифметическим преобразованием».Во-первых, любые операнды типа char, unsigned char или short преобразуются к


Арифметические операции

Из книги автора

Арифметические операции К арифметическим относятся бинарные операции +, -, *, / для вещественных и целых чисел, бинарные операции div и mod для целых чисел и унарные операции + и - для вещественных и целых чисел. Тип выражения x op y, где op - знак бинарной операции +, - или *,


54. Арифметические команды

Из книги автора

54. Арифметические команды Такие команды работают с двумя типами:1) целыми двоичными числами, то есть с числами, закодированными в двоичной системе счисления.Десятичные числа – специальный вид представления числовой информации, в основу которого положен принцип