Скачиваний:
70
Добавлен:
11.02.2014
Размер:
44.03 Кб
Скачать

3

Лабораторная работа №5

Простейшие программы на Ассемблере.

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

Инструкция

Машинный код

Результат

сложения 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 вместе с файлом отчета.

Соседние файлы в папке лабораторные работы по ASSAMBLER