Язык Макроассемблера IBM PC

  • Добавили30.01.2007
  • Размер46,77 Kб
  • Скачали217

а флаг CF получает значение 1. Однако в данном случае это отсечение не представляет интерес - результат операции будет правильным, например: 3+(-2) => 3+254(mod 256) = 257(mod 256) = 1. Зато здесь возможна иная неприятность: модуль суммы (ее мантисса) может превзойти допустимую границу и "залезть" в знаковый разряд, испортив его.

Например, при сложении байтовых чисел 127 и 2 получается величина 129 = = 100001001b, представляющая дополнительный код числа -127 (=256-129) . Хотя результат здесь получился и неправильным, процессор не фиксирует ошибку, но зато заносит 1 в флаг переполнения OF (если "переполнения мантиссы" не было, в OF записывается 0) . Анализируя затем этот флаг, можно "поймать" такую ошибку.

Таким образом, сложение (вычитание) знаковых и беззнаковых чисел производится по одному и тому же алгоритму. При этом ПК не "знает", какие числа (со знаком или без) он складывает; в любом случае он складывает их как беззнаковые числа и в любом случае формирует флаги CF и OF. А вот как интерпретировать слагаемые и сумму, на какой из этих флагов обращать внимание это личное дело автора программы.

Что касается умножения и деления знаковых и беззнаковых чисел, то они выполняются по разным алгоритмам, разными машинными командами. Однако и у этих операций есть ряд особенностей. При умножении байтов (слов) первый сомножитель обязан находиться в регистре AL (AX) , результатом же умножения является слово (двойное слово) , которое заносится в регистр AX (регистры DX и AX) .

Тем самым при умножении сохраняются все цифры произведения. При делении байтов (слов) первый операнд (делимое) должен быть словом (двойным словом) и обязан находиться в регистре AX (регистрах DX и AX) . Результатом деления являются две величины размером в байт (слово) .

Скачать
Реферат Программирование 25.01.2002

Язык макроассемблера IBM PC

В MASM. 1.1. Оперативная Память. Регистры. 1.1.1 Оперативная память Объем оперативной памяти ПК - 2 20 байтов 1 Мб . Байты нумеруются начиная с 0, номер байта называется его адресом. Для ссылок на байты памяти используются 20-разрядные адреса от 0 до F в 16-ричной системе.

Реферат Программирование 25.01.2002

Разработка общего ПО

Разработка общего программного обеспечения Макроязык И Макропроцессор Оператор, работающий в какой-либо системе, часто встречается с необходимостью повторять некоторые последовательности действий много раз Такая последовательность может, например, состоять

Шпаргалка Программирование 09.08.1998

Ответы на вопросы по курсу "Системное программирование"

1. История развития ВТ в связи с историей развития системного программного обеспечения. Современные компьютерные системы наряду с прикладным ПО всегда содержат системное, которое обеспечивает организацию вычислительного процесса. История системного программного

Реферат Программирование 14.01.1997

Структура и реализация макроязыков

Зайцева Л. В. Студент Омельченко С. А.МАК РО ЯЗЫК И МАК РО ПРО ЦЕС СОРОпе ра тор, ра бо таю щий в ка кой-ли босис те ме, час то встре ча ет ся с не об хо ди мо стью по вто рять не ко то рыепо сле до ва тель но сти дей ст вий мно го раз? Та кая по сле

5ballov.qip.ru рекомендует:

  • Выбор ВУЗа

    С приходом лета начался период, когда выпускники школ выбирают куда пойдут учиться дальше. Конечно, это совсем не легкий выбор, но помочь в выборе может рейтинг вузов на нашем сайте. Также в этом разделе представлена вся нужная для абитуриентов информация.

  • Как сдать ЕГЭ

    Прежде, чем идти в выбранный вуз с документами, нужно сначала получить аттестат, который выдается после сдачи экзаменов. А подготовиться к ним можно в нашем разделе ЕГЭ. Там также представлены варианты за прошлые года.

  • Подготовка к ГИА

    Для девятиклассников не менее важно окончание учебного года. Их также ждет государственная итоговая аттестация. Подготовиться к ней можно на нашем сайте в разделе ГИА. Главное помнить: самоподготовка - это путь к успешной сдаче.

Облако тегов