ДЕЛЕНИЕ ЦЕЛЫХ ЧИСЕЛ В МК

March 8, 2011 by admin Комментировать »

Для типичного алгоритма целочисленного деления С = А;В делимым является двойное слово AH:AL (два байта), а делителем – одинарное В (один байт); частное С и остаток получают в виде одинарных слов. При выполнении деления необходимо исключить возможность деления на 0. Если для представления частного потребуется более одного слова, то фиксируется переполнение. При выполнении деления необходимо проверить условие – делитель должен быть больше старшего слова делимого {В > АН).

При делении целых чисел можно использовать алгоритм деления без восстановления остатка и алгоритм с восстановлением остатка.

Схема алгоритма деления с восстановлением остатка приведена на рис. 3.4. Алгоритм деления представляет собой итерационную процедуру. На каждой итерации сначала удваивается делимое (на первой итерации) или остаток (на всех последующих) путем сдвига влево на один разряд, затем вычитается делитель и определяется цифра частного по знаку разности. Если разность положительная, определяемая на данной итерации цифра частного с; = 1, если разность отрицательная, цифра частного с; = 0. Восстановление остатка выполняется путем сложения делителя с остатком после вычитания на текущей итерации деления. Деление выполняется до получения всех цифр частного.

Алгоритм деления без восстановления остатка (рис. 3.5) представляет собой итерационную процедуру, на каждой итерации которой проводится либо вычитание делителя В, заменяемое сложением с дополнительным кодом [-5]доп, либо прибавление В в зависимости от знака остатка, полученного на предыдущей итерации деления. Если полученный остаток больше или равен О, при очередной итерации деления выполняется вычитание В; если остаток меньше О – прибавление В. Перед каждым вычитанием (или сложением) остаток удваивается путем сдвига влево. На начальной итерации деления делимое сдвигается на один разряд влево.

Деление чисел со знаком можно выполнить разными способами. Если исходные операнды заданы в прямых кодах, то путем сложения по модулю 2 знаковых разрядов можно определить знак частного. Модули делимого и делителя можно разделить, используя один из вышеописанных алгоритмов. Для определения переполнения необходимо выполнить пробное вьиитание А –

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты