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

  • Цель работы

  • Отчет. Представление информации в эвм


    Скачать 0.67 Mb.
    НазваниеПредставление информации в эвм
    Дата26.10.2021
    Размер0.67 Mb.
    Формат файлаdocx
    Имя файлаОтчет.docx
    ТипОтчет
    #256693

    МИНОБРНАУКИ РОССИИ

    Санкт-Петербургский государственный

    электротехнический университет

    «ЛЭТИ» им. В.И. Ульянова (Ленина)

    Кафедра ВТ

    Отчет

    по лабораторной работе №2

    по дисциплине «Программирование»

    Тема: «Представление информации в ЭВМ»

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

    2021


    Цель работы: изучение машинного языка.

    Список заданий:

    Для изучения структуры двух команд (пересылки MOV и сложения ADD), в которых используются непосредственные данные необходимо в левом верхнем окне отладчика написать указанные команды, в строках, нумеруемых последовательно. В одной строке напишите команду для пересылки значения 4629h в регистр AX, а в следующей строке напишите команду сложения числа 036Ah с содержимым регистра AX.

    Для понимания правил, по которым компьютер обеспечивает доступ к данным посредством регистров SI, DI, DS предлагается пошагово выполнить следующую программу. В верхнем левом окне отладчика напишите в строках, нумеруемых последовательно, команды пересылки значений 3, 8, 2100 соответственно в регистры SI, DI, DS. Задайте в памяти процессора (нижнее левое окно) по эффективному (смещенному) адресу 3 значение 7Ch. Далее напишите команды пересылки MOV AL,[SI] и MOV [DI],AL.

    Для изучения способа кодирования символов представьте в памяти процессора (нижнее левое окно) строку символов, соответствующих Вашему имени и году рождения, используя 8-разрядные коды ASCII.

    Для изучения машинного (двоичного) представления целой и дробной частей числа в формате с фиксированной точкой (запятой) напишите в верхнем левом окне отладчика фрагмент программы, заданный ниже. Каждое непосредственное данное, используемое во фрагменте программы, представляется в виде двух байтов. Для представления дробной части используется один байт и для представления целой части также используется один байт.

    MOV AX,1080; AX = 1080h = 16.5d

    MOV BX,1240; BX = 1240h = 18.25d

    ADD AX,BX; AX = 22C0h = 34.75d

    Выполните в пошаговом режиме указанный фрагмент программы, анализируя значения разрядов регистра флагов. Найдите такие значения складываемых чисел, которые обеспечивают изменения значений флагов

    Для изучения машинного (двоичного) представления коротких вещественных чисел, задаваемых в формате с плавающей точкой, напишите и выполните фрагмент программы, заданный ниже.

    FINIT ; инициализация FPU (например, 8087) TOP = 0.

    FLDZ ; поместить в стек +0.0 (TOP – 1 и поместить в ST(0) константу).

    FLD1 ; поместить в стек 1.0.

    FADD ST(0),ST(1) ; результат сложения чисел 0.0 и 1.0 размещен в ST(0).

    FST dword ptr[0] ; копирование ST(0), TOP не изменяется.

    FLD1

    FADD ST,ST(1) ; результат сложения чисел размещен в ST(0).

    FST dword ptr[4]

    FLD1

    FADD ST,ST(1) ; результат сложения чисел размещен в ST(0).

    FST dword ptr[8]

    FLD1

    FADD ST,ST(1) ; результат сложения чисел размещен в ST(0).

    FST dword ptr[0c]

    FDIVR ST,ST(2) ; вещественной число ½ размещено в ST(0).

    FST dword ptr[10]

    Задайте отображение сегмента данных ds:0000, ds:0004 и так далее. Приведите формулу вычисления q и p двоичного представления вычисленных чисел. Приведите формулу и двоичное представление максимального и минимального положительных денормализованных и нормализованных чисел.


    Задание 1

    Тест программы:

    Mov ax, 4629h; ax = 4629h

    Add ax, 036Ah; ax = ax + 036Ah

    Рис. 1.1 – Программа до отладки


    Рис. 1.2 – Выполнена Mov ax, 4629h; ax = 4629h



    Рис. 1.3 – Программа после отладки

    Задание 2
    Тест программы:

    Mov si, 0003; si = 3

    Mov di, 0008; di = 8

    Mov ax, 2100; ax = 2100

    Mov ds, ax; ds = ax

    Mov byte ptr [si], 7Ch; [si] = 7Ch

    Mov al, [si]; al = [si]

    Mov [di], al; [di] = al


    Рис. 2.1 – Программа до отладки


    Рис. 2.2 – si = 3


    Рис. 2.3 – di = 8


    Рис. 2.4 – ax = 2100


    Рис. 2.5 ds = 2100



    Рис. 2.6 0x0003=7C


    Рис. 2.7 – Программа после отладки
    Задание 3
    В сегмент данных, начиная с адреса ES:0000 была записана следующая последовательность ASCII символов:

    56 69 63 74 6F 72 00 00

    31 39 39 37 00 00 00 00

    Рис. 3.1 – Результат работы
    В итоге, с помощью записи кодов ASCII в память процессора, мы можем наблюдать, что они преобразовались и отобразились на экране:
    Victor

    1997
    Задание 4
    Текст программы:
    Mov ax,1080h; ax = 1080h = 16.5d

    Mov bx,1240h; bx = 1240h = 18.25d

    Add ax,bx; ax = ax + bx = 22C0h = 34.75d



    Рис. 4.1 – Программа до отладки





    Рис. 4.2 – Программа после отладки

    Результат сложения этих чисел приведен на рисунке 4.3.

    Рис. 4.3 – Программа после отладки

    Задание 5
    Текст программы:
    FINIT; инициализация FPU (например, 8087) TOP = 0.

    FLDZ; поместить в стек +0.0 (TOP – 1 и поместить в ST(0) константу).

    FLD1; поместить в стек 1.0.

    FADD ST(0),ST(1); результат сложения чисел 0.0 и 1.0 размещен в ST(0).

    FST dword ptr[0] ; копирование ST(0), TOP не изменяется.

    FLD1; поместить в стек 1.0.

    FADD ST,ST(1); результат сложения чисел размещен в ST(0).

    FST dword ptr[4]

    FLD1; поместить в стек 1.0.

    FADD ST,ST(1); результат сложения чисел размещен в ST(0).

    FST dword ptr[8]

    FLD1; поместить в стек 1.0.

    FADD ST,ST(1); результат сложения чисел размещен в ST(0).

    FST dword ptr[0c]

    FDIVR ST,ST(2) ; вещественной число ½ размещено в ST(0).

    FST dword ptr[10]





    Рис. 5.1 и 5.2 – Программа до отладки


    Рис. 5.3 – Программа после отладки


    Числа с плавающей запятой имеют размер 4 байта и следующий формат:



    где q - целое, выражающее порядок числа X; m - мантисса числа X.
    Подобные числа могут быть представлены в нормализованном и денормализованном видах. Отличием является строго заданное значение неявного бита мантиссы: у нормализованных - 1, у денормализованных - 0.

    Нормализованные числа имеют следующий вид:



    Денормализованные:



    Где s - знаковый бит, М - мантисса, E – порядок, B – основание (в нашем случае это 2)

    Нормализованные и денормализованные числа имеют различные диапазоны значений.

    Для денормализованных чисел:

    Минимальное возможное положительное значение:


    Максимально возможное положительное значение:


    Для нормализованных чисел:

    Минимальное возможное положительное значение:


    Максимально возможное положительное значение:



    Вывод:

    В ходе выполнения данной лабораторной работы познакомился с командами (табл. 1) и программированием на машинном языке – ассемблер. Также получил навыки использования специального программного обеспечения.

    Таблица 1 – Изученные команды языка ассемблер

    Название команды

    Назначение команды

    FINIT

    Служит для инициализации сопроцессора


    FST


    Копирует текущее значение из регистра ST в операнд-назначение, который может быть другим регистром или операндом в памяти в формате короткого или длинного вещественного. 



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