Меню сайта

Урок 118. Набор команд сопроцессора 8087

Команды сопроцессора 8087 должнырассматриваться как расширение
— — — набора команд микропроцессора 8088,т.е. — микросхема 8087 добавляет
— — — команды к общему набору. — Адресация памяти выполняется так же, как
— — — и в микропроцессоре 8088. — Как мы уже видели ранее, так происходит
— — — потому, что в действительностимикропроцессор 8088 сам порождает
— — — адреса памяти, а сопроцессор 8087 тольковыполняет требуемые
— — — опреции над данными.

— — — — — Сороцессор 8087 имеет набор регистров длячисел с плавающей
— — -точкой, организованный в виде стека. — Вершину стека микросхема 8087
— — — локализует с помощью 3=битового указателя,содержащегося в слове
— — — состояния. — — — Прочитавслово состояния, вы сможете узнать, какой из
— — — восьми регистров является текущей вершинойстека- но, как будет
— — — видно далее, эта информация в программетребуется редко.

— — — — — Вся адресация регистрового стекамикросхемы 8087 делается
— — — относительно текущей вершины стека. — Мнемонически на ассемблере
— — — вершина стека называется ST(0) или простоST. — Элемент, лежащий
— — — прямо под вершиной стека, называетсяST(1), второй элемент — ST(2),
— — — и так далее, вплоть до последнегоэлемента, ST(7). — — — — — Для простоты
— — — использования мы будем опускать скобки вобозначениях элементов
— — — стека, используя ST0, ST1, ST2 и такдалее.

— — — — — А теперь давайте посмотрим, как программаможет добраться к
— — — элементам стека. — Команда

— — — — — FADD — -ST0, ST3

— — — — — складывает вершину стека и четвертый егоэлемент, помещая
— — — результат в вершину стека. — — — — — На Фиг. 7.9а показаны действия этой
— — — команды. -Ссылка на регистры ST0 и ST3 жестко связана с указателем
— — — стека. -На рисунке складываются значения A и D, а результат A + D
— — — замещает значение A, так как оно лежит ввершине стека. — На
— — — Фиг. 7.9б до выполнения той же самойкоманды в стек был помещен
— — — элемент E. — — — Командапо=прежнему складывает содержимое вершины стека
— — — с его четвертым элементом- но, какпоказано на Фиг. 7.9б, она теперь
— — — складывает значения E и C, замещаярезультатом E + C зеачение E. — В
— — — результате помещения элемента E в стекперераспределения операндов
— — — внутри сопроцессора 8087 не произошло, нопроизошло их перемещение
— — — по отношению к вершине стека. — То есть элемент ST3 всегда является
— — — четвертым элементом стека, независимо оттого, где расположен
— — — указатель стека.
— — — — — Мы можем разбить команды сопроцессора 8087на три широкие
— — — группы. -В первой группе находятся пересылки данных — загрузки и
— — — записи данных в сопроцессор 8087 и изнего. — Вторая группа —
— — — управление сопроцессором, команды, которыеслужат для нужд
— — — внутреннего сервиса 8087. — В третьей группе команд сосредоточены
— — — все возможности сопроцессора 8087, этокоманды числовой обработки.
— — — Далее мы рассмотрим каждую группудетальнее. — Этот текст не
— — — содержит исчерпывающего описания командмикросхемы 8087. — Мы будем
— — — использовать примеры, чтобы с их помощьюсообщить достаточное
— — — количество информации о значении той илииной команды, а
— — — рассмотрение всех вычислительных возможностейсопроцессора 8087
— — — выходит за рамки данной книги.
— — — — — — ЪДДДДДДДДДДДДДДДДДДДДДї — — — — — — — — — — — — — -ЪДДДДДДДДДДДДДДДДДДДДДї
— — — — — — і — — — — — — — — — — — — — і — — — — — — — — — — — — — — і — — — — — — — — — — — — — і
— — — — — — і -ЪДДДДДДДДДДДДї — — — — і — — — — — — — — — — — — — -і — ЪДДДДДДДДДДДДї — — — і
— — — — — — АДДґ A — — — — ГДДДД + — — — — — — — — — — — — АДДґ — — — — — E — — — -ГДДДД +
— — — — — -ГДДДДДДДДДДДДґ — — — — і — — — — — — — — — — — — -ГДДДДДДДДДДДДґ — — — і
— — — — — — і — — B — — — -і — — — — і — — — — — — — — — — — — — — — і — — — — — A — — — -і — — — і
— — — — — -ГДДДДДДДДДДДДґ — — — — і — — — — — — —
— — — — — -ГДДДДДДДДДДДДґ — — — і
— — — — — — і — — C — — — -і — — — — і — — — — — — — — — — — — — — — і — — — — — B — — — -і — — — і
— — — — — -ГДДДДДДДДДДДДґ — — — — і — — — — — — — — — — — — -ГДДДДДДДДДДДДґ — — — і
— — — — — — і — — D — — — -ГДДДДДЩ — — — — — — — — — — — — — — — і — — — — -C — — — — ГДДДДДЩ
— — — — — -ГДДДДДДДДДДДДґ — — — — — — — — — — — — — ГДДДДДДДДДДДДґ
— — — — — — і — — — — — — — -і — — — — — — — — — — — — — — — і — — — — -D — — — — і
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — ГДДДДДДДДДДДДґ
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — і — — — — — — і
— — — — — — — — — — — (a) — — — — — — — — — — — — — — — — — — — — — — — — (b)

— — — — — — — — — — — — — — — — — Фиг. 7.9 Действие FADD ST0,ST3

Категория: Программирование на Ассемблере | Дата: 16.03.13

Меню раздела
Блок