Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная 4 (2 сем)

.docx
Скачиваний:
3
Добавлен:
18.07.2022
Размер:
58.95 Кб
Скачать

Санкт-Петербургский политехнический университет Петра Великого

Институт компьютерных наук и технологий

Высшая школа интеллектуальных систем и суперкомпьютерных технологий

ЛАБОРАТОРНАЯ РАБОТА №4

«Составление ассемблерной программы вывода символов»

по дисциплине «Архитектура вычислительных систем»

Выполнил

студент гр. 3530903/80001 А. В. Шильникова

Руководитель Н. М. Вербова

«___» __________ 2021 г.

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

2021

Цель работы: изучить элементы и принципы процедуры трансляции программ.

Задачи:

1. Разработать программу на ассемблере, выдающую на дисплей строку текста

2. Составить комментарий к программе

3. Ввести программу и проверить ее работу

Код программы MESSAGE.COM в редакторе «WinHex»:

Дизассемблированный код программы:

BA 0B 01

mov dx, data16 (0B01h)

Копирование значения 10B16 в регистр dx, где 0Bh – адрес символа, с которого начинается текст, а 100h – это префикс программного сегмента. 100h – начало COM программы.

B4 09

mov ah, data8 (09h)

Копирование значения 916 в регистр ah, где 09h – функция DOS вывода строки. На вход функции поступает значение из регистра dx – адрес символа, с которого начинается вывод строки, заканчивающейся символом $ (24h).

CD 21

int n_proc (21h)

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

прерываний = 2116. Это прерывание служит главным входом большинства функций DOS.

B4 4C

mov ah, data8 (4Ch)

Копирование значения 4С16 в регистр ah, 4С – функция DOS завершения программы. Возвращает управление от порожденного процесса его родителю

CD 21

int n_proc (21h)

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

прерываний = 2116.

Символы в кодировке ASCII

48

Символ H

Начало текстового сообщения.

65

Символ e

6C

Символ l

6C

Символ l

6F

Символ o

21

Символ !

20

Символ пробела

54

Символ T

68

Символ h

69

Символ i

73

Символ s

20

Символ пробела

69

Символ i

73

Символ s

20

Символ пробела

61

Символ a

20

Символ пробела

74

Символ t

65

Символ e

78

Символ x

74

Символ t

20

Символ пробела

65

Символ e

78

Символ x

61

Символ a

6D

Символ m

70

Символ p

6C

Символ l

65

Символ e

2E

Символ .

0D

Символ возврата каретки в крайнее левое положение на текущей строке

Символ перехода на новую строку

24

Символ $. Окончание текстового сообщения.

Измененная программа с выводом моего имени

Вывод: в ходе выполнения лабораторной работы были изучен метод работы с дисплеем, функциями DOS и получены навыки дизассемблирования и использования HEX-редактора для чтения и редактирования байт-кодов программы.