Главная страница
Навигация по странице:

  • М.А. БОНЧ-БРУЕВИЧА» (СПБГУТ) ФАКУЛЬТЕТ ИНФОКОММУНИКАЦИОННЫХ СЕТЕЙ И СИСТЕМ (ИКСС) КАФЕДРА ПРОГРАММНОЦ ИНЖЕНЕРИИ И

  • ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ (ПИ И ВТ) ДИСЦИПЛИНА

  • А. Постановка задачи Вычислить заданное вещественное выражение для исходных данных в форматах Float

  • a

  • (53+

  • сопроцетор. Федеральное агенство связи федеральное государственное бюджетное


    Скачать 100.64 Kb.
    НазваниеФедеральное агенство связи федеральное государственное бюджетное
    Анкорсопроцетор
    Дата04.06.2020
    Размер100.64 Kb.
    Формат файлаdocx
    Имя файлаlab5Assembly.docx
    ТипЛабораторная работа
    #127870

    ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ

    ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

    ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО

    ОБРАЗОВАНИЯ

    «САНКТ-ПЕТЕРБУРСКИЙ ГОСУДАРСТВЕННИЙ

    УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ.

    М.А. БОНЧ-БРУЕВИЧА»

    (СПБГУТ)

    ФАКУЛЬТЕТ ИНФОКОММУНИКАЦИОННЫХ СЕТЕЙ И

    СИСТЕМ (ИКСС)

    КАФЕДРА ПРОГРАММНОЦ ИНЖЕНЕРИИ И

    ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ (ПИ И ВТ)


    ДИСЦИПЛИНА : « Машинно-зависимые языки программирования»

    Лабораторная работа Nº 5.

    ТЕМА: «Сопроцессор»

    Вариант Nº 9

    Выполнил:

    Студент группы ИКПИ -94

    Жоау Ошвалду Б. Педру

    Подпись__________

    Приния:

    Морозов Д.П

    Подпись__________

    «____»____________2020

    А. Постановка задачи

    Вычислить заданное вещественное выражение для исходных данных в форматах Float(SINGLE для переменных a и b) и Int(INTEGER - все остальные переменные), используя арифметические операции сопроцессора.

    Исходные значения переменных вводятся пользователем с клавиатуры. Они должны быть максимально приближены к максимально-возможным для тех типов данных, с которыми решается задача. При вводе данных рекомендуется вывести диапазон возможных значений. Размер и тип числителя, знаменителя и результата зависит от заданного выражения.

    Вариант номер 9

    (53+c*2-1)/(b-a+4)

    B. Результаты вычислений

    C. Программа на ASM

    //Signed Byte CPP

    #include
    extern "C" {void functGetAsm -(void);}
    short int a, b, c;

    float numerator = 0.0;

    float denominator = 0.0;

    int rezultat;
    void functionCPP()

    {

    numerator = (53+ c*2 -1);

    denominator =(b-a+4);

    rezultat = (float) (numerator / denominator);

    cout<< "CPP Numerator: " << numerator << "\n";

    cout<< "CPP Denominador: " << denominator << "\n";

    cout<< CPP Rezultat " << rezultat << "\n";
    void functionASM()

    {

    rezultat = 0;

    functGetAsm();

    cout<< "ASM Numerator: " << numerator << "\n";

    cout<< "ASM Denominator: " << denominator << "\n";

    cout<< ASM Rezultat " << rezultat << "\n";

    }
    int main()

    {

    cout<< "Insert the number a: "; cin>> a;

    cout<< "\n Insert the number b: "; cin>> b;

    cout<< "\n Insert the number c: "; cin>> c;

    cout<< "\n";

    functionCPP();

    functionASM();

    return 0;

    }

    .MODEL large, c

    .data

    Extrn aa: dword, bb: dword, cc: dword, numerator: dword, denominator: dword, rezultat: dword;

    .code

    public functGetAsm

    two dd 2.

    fiftyTree dd 53.

    four dd 4.

    one dd 1.

    functGetAsm proc far ;begin the program

    finit

    ; (b-a+4)--------------------------------

    fild, cc ; st(0)=cc

    fmult two, st(0) ; st(0)=st(0)*2

    fadd fiftyTree ; st(0)=st(0)+53

    fsub one ;st(0)=st(0)-1

    fst numerator ; nmerador= st(0)

    ; (b-a+4)--------------------------------------------------------------

    fild bb ;st(0)=bb

    fild aa ;st(0)=aa ;st(1)=bb

    fsubp st(1),st(0) ; st(1)= st(1)-st((0)

    fadd four ; st(1) =st(1)+4

    fst denominator ; denominador =(b-a+4)

    ;rezultat ((53+c*2-1)/(b-a+4))-------------------------------------------

    fild numerator ;st(0)= numerador

    fdiv st(0),st(1) ; st((0)/st(1)

    fst rezultat ; rezultat=st(0)

    ret

    functGetAsm endp ; finished the metod asm

    end ; finished the program

    D. Выводы

    Тот факт, что результат работы программы совпадает со всеми поставленными требованиями, я прихожу к выводу, что программа создана и работает верно.


    написать администратору сайта