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

  • Способ вызова обработчика прерываний INT

  • Прерывание INT 20 .

  • Деассемблирование .

  • MOV AH,D2

  • Лабораторная работа 6 Правила использования инструкций простейших арифметических операций Инструкция Машинный код


    Скачать 41 Kb.
    НазваниеЛабораторная работа 6 Правила использования инструкций простейших арифметических операций Инструкция Машинный код
    Дата18.09.2022
    Размер41 Kb.
    Формат файлаdoc
    Имя файлаLaboratornarabota_6.doc
    ТипЛабораторная работа
    #683021

    Лабораторная работа № 6
    Правила использования инструкций простейших арифметических операций

    Инструкция

    Машинный код

    Результат

    сложения ADD AX,BX

    01D8

    AX

    вычитания SUB AX,BX

    29D8

    AX

    умножения BX на AX – MUL BX

    F7E3

    DX:AX (старшие: младшие биты)

    деления DX:AX на BX – DIV BX

    F7F3

    AX- результат

    DX- остаток

    Задание 1.

    Выполните арифметические действия над шестнадцатеричными числами

    D2CF+A8=

    2135+AF12=

    BCAD-3124=

    4561-345A=

    FAx35=

    FFxFF=

    2346/AC= остаток=

    EDFA/AD= остаток=

    Поместите в отчет результаты вычислений

    Способ вызова обработчика прерываний INT21

    Прерывание INT 21h

    CD21

    Вызов обработчика прерываний.

    Параметры для обработчика прерываний, вызываемого инструкцией INT 21, содержатся в РОН: AH- номер прерывания (старший байт AX)

    DL- параметр для прерывания (младший байт DL)

    Задание 2.

    Используя прерывание 21, выведите на экран символы F, 3, d, 9, >,(.

    Для определения кода ASCII соответствующего символа используйте таблицу в приложении.

    Прерывание INT 20.

    Прерывание INT20 –завершение работы подпрограммы и передача управления вызвавшей программе.

    Прерывание INT 20h

    CD20

    Завершение программы.

    Деассемблирование.

    Инструкция отладчика U <адрес> выводит инструкции, записанные в память, начиная с указанного адреса, в формате:

    <сегмент>:<смещение> <код инструкции> <команда ассемблера> <операнды>

    Задание 3.

    Введите в память начиная со смещения 100 программу из 2 строк, которая

    выведет на экран символ A и завершит выполнение инструкцией INT 20.

    Перед выполнением программы (команда отладчика G 104) проверьте правильность введенных кодов, выполнив деассемблирование.

    Поместите результат деассемблирования в отчет
    Ассемблирование

    Инструкция отладчика A <адрес> позволяет вводить команды ассемблера, автоматически размещая их в соответствующем числе ячеек памяти, начиная с указанного адреса.


    Задание 4.

    Введите начиная с адреса 100 программу вывода на экран символа D:

    INT 21

    INT 20

    Не забудьте установить значения регистров AH, DL

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

    Инструкция

    Машинный код

    Результат

    MOV AX,BX

    89C3

    BX копирует в AX

    MOV AH,DL

    88D4

    DL копирует в AH

    MOV AH,D2

    B402

    Загружает число D2 в :AH


    Задание 5.

    Составьте и введите в память начиная со смещения 100 программу, которая загрузит в регистры соответствующие коды и выведет на экран символ @, после чего завершит выполнение и передаст управление отладчику.

    Выполните программу

    Поместите результат деассемблирования в отчет.

    Файл

    Команда отладчика N <имя.расширение>позволяет создать файл с определенным именем.

    Команда W позволяет записать число байт, указанное в CX, на диск в поименованный файл ( в текущий каталог). BX при этом должен быть установлен в 0.

    Задание 6.

    Запишите на диск в файл ch.com программу вывода на экран символа @.

    При выполнении из командной строки DOS программа должна выводить на экран символ @

    Программа вывода на экран строки символов

    Для того, чтобы составить программу вывода строки из памяти, нужно воспользоваться прерыванием 09h. Эта функция DOS выводит на экран последовательность символов до появления символа $ (24h). Смещение начала строки в сегменте данных указывает число в регистре DX.

    Задание 7

    Введите строку символов «Hello, Dolly!$» в память, начиная с со смещения 200, введите в память начиная со смещения 100 программу, которая загрузит в регистры коды прерывания 21 09, адрес строки в памяти (200).

    При помощи команды деассемблирования проверьте введенные коды программы.

    Для проверки правильности введенных кодов символов строки используйте команду отладчика D <адрес>. Эта команда выводит на экран данные в формате

    <адрес-сегмент><адрес-смещение><строка кодов><строка символов>.

    Определите длину программы (начиная со смещения 100) вместе со строкой символов (до первого символа после $).

    Запишите программу в файл str.com

    Проверьте ее работу, запустив из командной строки

    Перешлите файлы ch.com и str.com вместе с файлом отчета.


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