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

  • ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №6

  • ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №6 Организация работы с подпрограммами. Длинные арифметические операции.. Отчет. Отчет защищен с оценкой преподаватель доцент


    Скачать 1.97 Mb.
    НазваниеОтчет защищен с оценкой преподаватель доцент
    АнкорОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №6 Организация работы с подпрограммами. Длинные арифметические операции
    Дата28.12.2022
    Размер1.97 Mb.
    Формат файлаdocx
    Имя файлаОтчет.docx
    ТипОтчет
    #868308

    МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

    федеральное государственное автономное образовательное учреждение высшего образования

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

    АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

    КАФЕДРА №52


    ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ_____________________

    ПРЕПОДАВАТЕЛЬ

    доцент










    Н.В. Марковская

    должность, уч. степень, звание




    подпись, дата




    инициалы, фамилия

    ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №6

    Организация работы с подпрограммами. Длинные арифметические операции.

    СТУДЕНТ ГР. №

    2154










    Н. А. Кощин




    номер группы




    подпись, дата




    инициалы, фамилия



    Санкт-Петербург

    2022

    Цель работы

    Изучение возможностей ЭВМ по организации работы с подпрограммами, отработка алгоритмов выполнения «длинных» арифметических операций (умножение, деление).

    Ход работы

    1. Вычислил номер задания для своего варианта (NЗ 1 = 8)

    Деление целых чисел без знака для получения целого числа без восстановления остатка с неподвижным делителем и сдвигом делимого

    1. Придумал тестовые числа для своего варианта

    X


    1. Написал мнемонику и бинарный код для программы

    X


    № шага

    Адрес

    Мнемокод

    16' ричный код

    Комментарии

    main

    1

    00'

    MOVL (R0); (R3)

    D0 60 63

    Запись TempNum

    2

    03'

    MOVL (R1); (R4)

    D0 61 64

    Запись ShiftedDel

    3

    06'

    JSB 0x17 (RF)

    16 AF 17

    Переход к makeTempDel

    4

    09'

    JSB 0x34 (RF)

    16 AF 34

    Переход к division

    5

    0C'

    HALT

    00'

    STOP

    makeTempDel

    1

    20'

    BITL 0x04 (R4); 0x04 (R5)

    D3 A4 04 A5 04

    Берем 63 бит

    2

    24'

    BNEQ 0x0A

    12 0A

    Проверяем равен ли он 1

    3

    27'

    ASHQ 0x01 (R4); (R4)

    79 8F 01 64 64

    Сдвигаем ShiftedDel на 1

    4

    2C'

    INCL R7

    D6 57

    Инкрементируем ShiftCounter

    5

    2E'

    JMP 0xEF (RF)

    17 AF EF

    Прыгаем на шаг 1

    6

    31'

    RSB

    05'

    RETURN

    division

    1

    40'

    ASHQ 0x01 (R3); (R3)

    79 8F 01 63 63

    Сдвигаем TemNum на 1

    2

    45'

    SUBL2 0x04 (R3); 0x04 (R4)

    C2 A3 04 A4 04

    Вычитаем ShiftedDel из TempNum

    3

    4A'

    BITL 0x04 (R3); 0x04 (R6)

    D3 A3 04 A6 04

    Берем старший бит из TempNum

    4

    4F'

    BNEQ 0x14

    12 14

    Проверка, равен ли бит 1, иначе прыжок на шаг 9

    5

    51'

    BISL2 0x00 00 00 01; (R2)

    C8 01 00 00 00 62

    Ставим бит в младший разряд Ans

    6

    58'

    ASHQ 0x01; (R3); (R3)

    79 8F 01 63 63

    Сдвигаем TemNum на 1

    7

    5D'

    SUBL2 0x04 (R4); 0x04 (R3)

    C2 A4 04 A3 04

    Вычитаем ShiftedDel из TempNum

    8

    62'

    JMP 0x0A (RF)

    17 AF 0A

    Прыгаем на шаг 11

    9

    65'

    ASHQ 0x01; (R3); (R3)

    79 8F 01 63 63

    Сдвигаем TemNum на 1

    10

    6A'

    ADDL2 0x04 (R4); 0x04 (R3)

    C0 A4 04 A3 04

    Прибавляем ShiftedDel к TempNum

    11

    6F'

    ASHL 0x01; (R2); (R2)

    78 8F 01 62 62

    Сдвиг Ans на 1

    12

    74'

    ACBW R7; 0x00 01; R8; 0xCE FF

    3D 57 8F 01 00 58 CE FF

    Итерация цикла, возвращаемся к шагу 3

    13

    7C'

    RSB

    05'

    RETURN



    1. Составил блок – схемы

    Main




    makeTempDel





    division







    Скриншоты:





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