2.  Определение структуры программного продукта

2.1 Анализ процесса обработки информации и выбор структур данных для хранения

Процесс обработки информации приближен к процессам, проводимым в математическом сопроцессоре Intel 80x87. В программе на диалоговом уровне реализована возможность задания числового значения, которое нужно будет вычесть из вершиной стека эмулированного математического сопроцессора, и вычитание разных элементов стека. В том числе и идущих не по порядку. В процессе работы эмуляции сопроцессора часто необходимо быстрое обращение к битам отдельного числа для этого используется следующая структура bits, представленная в таблице 2.1

Таблица 2.1

тип имя переменной размер(бит)
unsigned char b0 1
unsigned char b1 1
unsigned char b2 1
unsigned char b3 1
unsigned char b4 1
unsigned char b5 1
unsigned char b6 1
unsigned char b7 1

Структура bits объединенa в структур bait_tabс полями в таблице 2.2

Таблица 2.2

тип название
bits bit
unsigned char bait

Определим структуры для мантиссы и порядка:

Структура ud16 с полями в таблице 2.3

Таблица 2.3

тип название
bait_tab data[2]
short val

Структура ud64 с полями в таблице 2.4

Таблица 2.4

тип название
bait_tab data[8]
_int64 val

Структура ud80 с полями в таблице 2.5

Таблица 2.5

тип название
ud64 mant
ud16 exp

В самом же сопроцессоре стековые регистры имеют вид структуры str с полями, преставленной в таблице 2.6

Таблица 2.6

типа название
bait_tab data[10]
ud80 val

Также в программе определены регистры состояния, тегов и контроля.

Структура regs представлена в таблице 2.7


Таблица 2.7

тип имя переменной размер(бит)
unsigned IE 1
unsigned DE 1
unsigned ZE 1
unsigned OE 1
unsigned UE 1
unsigned PE 1
unsigned SF 1
unsigned ES 1
unsigned C0 1
unsigned C1 1
unsigned C2 1
unsigned TOP 3
unsigned C3 1
unsigned B 1

Структура _sreg с полями в таблице 2.8

Таблица 2.8

тип название
regs data
unsigned short int sreg

Структура _creg, включает в себя следующую структуру:

Таблица 2.9

тип имя переменной размер(бит)
unsigned IM 1
unsigned DM 1
unsigned ZM 1
unsigned OM 1
unsigned UM 1
unsigned PM 1
unsigned PC 2
unsigned RC 2

Таблица 2.10

тип название
unsigned short int creg

Структура _twr, включает в себя следующую структуру:

Таблица 2.11

тип имя переменной размер(бит)
unsigned char pr0 2

структура _twr с полями в таблице 2.12

Таблица 2.12

типа название
unsigned short int twr

 


Информация о работе «Эмуляция команды математического сопроцессора FSUB»
Раздел: Информатика, программирование
Количество знаков с пробелами: 27839
Количество таблиц: 21
Количество изображений: 6

Похожие работы

Скачать
181295
4
0

... изменения сегмента (Segment Override). В системе команд насчитывается несколько сотен инструкций, поэтому в данной работе обзорно рассмотрены все команды обработки данных (блоков процессора АЛУ, FPU, MMX, и XMM), а далее более подробно описаны инструкции, появившиеся в процессорах Pentium 3 (блок XMM — SSE) и Pentium 4 (блок XMM — SSE2). Инструкции пересылки данных (см. табл) позволяют ...

Скачать
668870
13
0

... программе. В данном разделе они перечислены в алфавитном порядке и приводятся с объяснениями. Эти ошибки могут являться следствием случайного затирание памяти программой. Abnormal program termination Аварийное завершение программы Данное сообщение может появляться, если для выполнения программы не может быть выделено достаточного количества памяти. Более подробно оно рассматривается в конце ...

0 комментариев


Наверх