Курсовая работа: Эмуляция команды математического сопроцессора FSUB

Для работы программы необходимы следующие функции:

int main() – главная функция программы в ней вызываеться функция инициализации, заполнение стека сопроцессора, а также в диалоговом режиме вызываеться FSUB.

int fld(str reg[],_sreg &sreg,_creg creg,_twr twr,int st0 ,int stimm)– заполнение стека сопроцессора.

int print_st(str reg[],_sreg sreg,_creg creg,_twr twr, int id)– печатает 1-й элемент стека сопроцессора.

int fsub(str reg[],_sreg &sreg,_creg creg,_twr twr,int fl, int s1,int s2)– функция выполняющаяя сложение двух стековых регистров и выталкивает вершину стека.

Структурная схема программного продукта:

Рис.1. Структурная схема программного продукта


3. Описание реализации программного продукта

3.1 Описание программы эмуляции команды FSUB математического сопроцессора

В функции void main(), с которой начинается выполнение программы, производится инициализация эмулятора сопроцессора, заполнение стека первоначальными значениями, после этого предлагается в диалоговом режиме ввести значение:

1 - fsub

2 - fsub n

3 - fsub st(n), st(n)

4 - fld

0 - выход

В случае если пользователь введет 1, программа вычтет из вершины стека значение, находящееся на следующей позиции, 2 – вычтет из вершины стека переменную, введенную пользователем, 3 – произведет вычитание указанных пользователем значений стека, 4 – поместит на вершину стека новое значение.

3.2 Описание функции FSUB

Логика работы функции представлена блок-схемой на рис.3.1.


Рис.3.1. Лист 1


Рис.3.1. Лист 2

3.3 Описание функции FLD

Логика работы функции представлена блок-схемой на рис.3.2.


Рис.3.2. Лист 1


Рис.3.2. Лист 2

К-во Просмотров: 252
Бесплатно скачать Курсовая работа: Эмуляция команды математического сопроцессора FSUB