- •Министерство образования и науки российской федерации
- •Программирование на ассемблере устройства fpu
- •305040, Г.Курск, ул. 50 лет Октября, 94. Содержание
- •1. Цель работы
- •2. Порядок выполнения работы
- •3. Содержание отчета
- •4. Необходимое программное обеспечение
- •5. Архитектура устройства fpu
- •5.1. Форматы обрабатываемых данных
- •5.2. Программная модель fpu
- •5.3. Особенности программирования fpu
- •5.4. Вычисление трансцендентных функций
- •5.5. Загрузка констант в fpu
- •6. Программирование устройства fpu на встроенном ассемблере
- •7. Пример
- •Листинг ассемблерной функции
- •Библиографический список
- •Система команд устройства fpu
- •1. Команды пересылки данных
- •2. Арифметические команды
- •3. Команды сравнения
- •4. Трансцендентные операции
- •5. Команды управления
- •Варианты заданий
Варианты заданий
Номер варианта кодируется четырьмя цифрами A.B.C.D.
Цифра А определяет вид функции f(x,y):
|
1.
|
16.
|
|
2.
|
17.
|
|
3.
|
18.
|
|
4.
|
19.
|
|
5.
|
20.
|
|
6.
|
21.
|
|
7.
|
22.
|
|
8.
|
23.
|
|
9.
|
24.
|
|
10.
|
25.
|
|
11.
|
26.
|
|
12.
|
27.
|
|
13.
|
28.
|
|
14.
|
29.
|
|
15.
|
30.
|
Цифра B задаёт заголовок подпрограммы:
|
Значение B |
Заголовок подпрограммы на C++ / Delphi |
|
1 |
type2 F (type1 X, type1 Y) Function F( X,Y: type1) : type2 |
|
2 |
type2 F (type1 X, short Y) Function F( X: type1; Y : smallint) : type2 |
|
3 |
type2 F (type1 X, int Y) Function F( X: type1; Y : integer) : type2 |
|
4 |
void P (type1 X, type1 Y, type2 *F) Procedure P( X,Y:type1; var F:type2) |
|
5 |
void P (type1 X, short Y, type2 *F) Procedure P(X : type1; Y : smallint; var F : type2) |
|
6 |
void P (type1 X, int Y, type2 *F) Procedure P(X : type1; Y : integer; var F : type2) |
Цифры С и D задают типы переменных type1 и type2 (см. Таблицу 1)
|
Значение С, D |
1 |
2 |
3 |
|
Тип |
OT |
ДТ |
РТ |
1 поясняем: 2<10> = 1,00<2> 21. В формате ОТ «1»-ца перед запятой отбрасывается: поле мантиссы хранит только дробную часть, то есть все «0». Смещённый порядок = 1(истинный порядок)+ 27–1 (смещение) = 128; знак S=0. Согласно рис.1,б имеем: 0 10000000 00000000000000000000000<2>.
2 или WAIT, машинный код 9Bh.


