Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Глава 4. Персональные компьютеры. неприятность: модуль суммы (ее мантисса) может превзойти до-





неприятность: модуль суммы (ее мантисса) может превзойти до-

пустимую границу и ≪залезть≫ в знаковый разряд, испортив его.

Например, при сложении байтовых чисел 127 и 2 получается ве-

Личина 129 (lOOOOlOOlb), представляющая дополнительный код

Числа -127 (256- 129).

Хотя результат здесь получился и неправильным, процессор не

фиксирует ошибку, но зато заносит ≪1≫ в флаг переполнения OF

(если ≪переполнения мантиссы≫ не было, в OF записывается ≪О≫).

Анализируя затем этот флаг, можно ≪поймать≫ такую ошибку.

Таким образом, сложение (вычитание) знаковых и чисел без

Знака производится по одному и тому же алгоритму. При этом

180X86 ≪не знает≫, какие числа (со знаком или без) он складывает; в

Любом случае он складывает их как числа без знака и в любом слу-

Чае формирует флаги CF и OF. Как интерпретировать слагаемые и

Сумму, на какой из этих флагов обращать внимание —личное дело

Автора программы.

Что касается умножения и деления знаковых и чисел без знака,

То они выполняются по разным алгоритмам, разными машинными

Командами. Однако и у этих операций есть ряд особенностей. При

Умножении байтов (слов) первый сомножитель обязан находиться в

Регистре AL (АХ), результатом же умножения является слово (двой-

Ное слово), которое заносится в регистр АХ (регистры DX и АХ). Тем

Самым при умножении сохраняются все цифры произведения. При

Делении байтов (слов) первый операнд (делимое) должен быть сло-

Вом (двойным словом) и обязан находиться в регистре АХ (регистрах

DX и АХ). Результатом деления являются две величины размером в

Байт (слово) —неполное частное (div) и остаток от деления (mod);

Неполное частное записывается в регистр AL (АХ), а остаток —в ре-

Гистр АН (DX).

Представление символов и строк. На символ отводится один байт

Памяти, в который записывается код символа —целое от 0 до 255.







Date: 2015-11-13; view: 377; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию