Дипломированных специалистов «Информатика и вычислительная техника»



Download 12,06 Mb.
Pdf ko'rish
bet249/357
Sana22.02.2022
Hajmi12,06 Mb.
#115195
TuriДиплом
1   ...   245   246   247   248   249   250   251   252   ...   357
Bog'liq
assembler uchebnik dlya vuzov 2-e izd YuRXUW1

Неподдерживаемые форматы
Необходимо иметь в виду, что помимо рассмотренных существует довольно много
битовых наборов, которые можно представить в расширенном формате веществен-
ного числа. Для большинства их значений формируется исключение недействи-
тельной операции.
Система команд сопроцессора
Система команд сопроцессора включает около 80 машинных команд. Рассмотрим
их классификацию (рис.
| Команды сопроцессора
Передачи данных
данные
данные
Десятичные
данные
Загрузка
- fld!2t
-

Обмен
(
данных
Вещественные
данные
L
Целочисленные
данные
ficom(p)
С нулем
Условное
сравнение
(Pentium II/III)
fcomip

Условная
пересылка
(Pentium II/III)
fcomi
fucomi
I
Арифметические
-
-
-
Вещественные
данные
Сложение
Вычитание
Деление
Целочисленные
данные
Сложение
Вычитание
Деление
арифметические
команды

— fscale
— frndint
Вычисления
тригонометрических
функций
Синус |
Косинус
Тангенс
Арктангенс
I
I
I
Вычисление
логарифмов
-f2xm1
I
Управления
Инициализация
сопроцессора
Работа
frstor
Работа
со стеком
Переключение
режимов
fsetpm/frstpm
fnop -

Рис. 17.16. Функциональная классификация команд сопроцессора
Мнемоническое обозначение команд сопроцессора характеризует особенности
их работы и в связи с этим может представлять определенный интерес. Цоэтому
коротко рассмотрим основные моменты образования названий команд.


Система команд сопроцессора 467
Я Все мнемонические обозначения начинаются с символа F (Float).
Вторая буква мнемонического обозначения определяет тип операнда в памяти,
с которым работает команда:
I — целое двоичное число;
В — целое десятичное число;
D отсутствие буквы — вещественное число.
9 Последняя буква Р в мнемоническом обозначении команды означает, что по-
следним действием команды обязательно является извлечение операнда из стека.
или предпоследняя буква R (reversed) в мнемоническом обозначе-
нии команды означает реверсивное следование операндов при выполнении ко-
манд вычитания и деления, так как для них важен порядок следования операндов.
Полезной может оказаться и информация о машинных форматах команд со-
процессора. Если давать им общую характеристику, то важно отметить, что в це-
лом система команд сопроцессора отличается большой гибкостью в выборе вари-
антов задания команд, реализующих определенную операцию, и их операндов.
Минимальная длина команды сопроцессора — 2 байта. При обсуждении команд
в тексте данной главы будет приводиться лишь их схема. Детально машинное пред-
ставление команд сопроцессора и сами команды описаны в приложении.
Методика написания программ для сопроцессора имеет свои особенности. Глав-
ная причина здесь — в стековой организации сопроцессора. Для того чтобы напи-
сать программу для вычисления некоторого выражения, его необходимо предва-
рительно преобразовать в удобный для программирования сопроцессора вид.
Процесс преобразования напоминает подготовку выражения для метода трансля-
ции, основанного на использовании обратной польской записи (ПОЛИЗ). Рассмот-
рим суть ПОЛИЗ на примере вычисления выражения
a +
 + b).
Графически это выражение представляется в виде дерева (рис.
а
Рис.
Представление выражения в
дерева
Листья ветвей дерева соответствуют операндам, а узлы — операциям. Пусть
началом обхода будет лист самой левой ветви дерева. Тогда для получения обрат-
ной польской записи выражения необходимо двигаться по дереву слева направо,
при этом узлы должны просматриваться только после обхода всех исходящих из
него ветвей. В результате выражение будет выглядеть так:
abc х + dab + / -


468 Глава
Архитектура и программирование сопроцессора
Другое название такой формы записи — постфиксная
Это означает, что
знак операции записывается после операндов, участвующих в операции. Постфикс-
ная запись позволяет вычислять
за один проход с учетом приоритета
арифметических операций.
Алгоритм вычисления выражений в постфиксной записи имеет следующий вид.
1. Выбрать очередной символ записи выражения в форме
ИЗ.
2. Если очередной выбранный символ — операнд, то поместить его в
после
чего вернуться к шагу
3. Если очередной выбранный символ — знак операции, то выполнить ее с одним
или двумя операндами на вершине стека. Результат операции необходимо по-
местить обратно на вершину стека.
4. Если в исходной записи выражения в форме ПОЛИЗ еще остались символы,
то вернуться к шагу иначе — на вершине стека получить результат вычисле-
ния выражения.
При разработке программ необходимо учитывать следующие факторы:
ограниченность глубины стека сопроцессора;
несовпадение форматов операндов;
в отсутствие поддержки на уровне команд сопроцессора некоторых операций,
таких как возведение в степень, вычисление тригонометрических функций.
Для решения этих проблем вам придется разрабатывать дополнительный про-
граммный код, отклоняясь от классической (последовательной) обработки ариф-
метических выражений, представленных в форме ПОЛИЗ. Однако стержнем про-
граммы останется строка в форме ПОЛИЗ.
Среди файлов к данной главе находятся файлы программы, с помощью кото-
рой вы можете облегчить себе задачу преобразования простого арифметического
выражения в форму ПОЛИЗ. Она поддерживает ограниченное количество опера-
ций, но их набор вы можете расширить, дополнив конфигурационный файл
и исходный текст программы.
Здесь возникает интересная алгоритмическая задача. В чем ее суть? Для тех
операций, которые реализованы на уровне команд сопроцессора, особых проблем
нет. И наоборот, для выражений, содержащих операции, не реализованные на уров-
не команд сопроцессора, возникает проблема преобразования исходной строки
в форму ПОЛИЗ. В качестве примера можно привести такую распространенную
операцию, как возведение в степень. В соответствующей программе, которую мы
рассмотрим чуть позже, реализуется ряд операций, необходимых для возведения
в степень. То есть в выражении, преобразованном в форму ПОЛИЗ, будут записа-
ны некоторые операции, отсутствующие в исходной записи этого выражения. Это
означает, что при формировании строки ПОЛИЗ программа должна выполнять
неявную подстановку дополнительных операндов и операций в соответствии с не-
которой формулой приведения.

Download 12,06 Mb.

Do'stlaringiz bilan baham:
1   ...   245   246   247   248   249   250   251   252   ...   357




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish