close

Вход

Забыли?

вход по аккаунту

?

пр№1

код для вставкиСкачать
Федеральное агентство по образованию
Государственное образовательное учреждение
Высшего профессионального образования
"Тверской государственный технический университет"
Кафедра ЭВМ
Лабораторная работа №1
ОБРАБОТКА СТРОК НА ЯЗЫКЕ АССЕМБЛЕРА
Выполнила: Тулупова Т.В., ВМКСС - 0404
Проверил: г.Тверь, 2007
Задание: создать выполнимую программу вывода на экран текстовой строки
с помощью 1-го, 2-х, 3-х сегментов (сегмент команд, сегмент команд + сегмент данных, сегмент команд + сегмент данных + сегмент стека). Получить листинг и определить длину для каждого варианта программы.
1. Программа вывода на экран текстовой строки с использованием одного сегмента кода.
Листинг программы:
Turbo Assembler Version 3.1 18/10/07 23:27:00 Page 1
pr1.ASM
10000 .model tiny ;Модель памяти TINY 2 3 40000 .code ;Директива, описывающая основной сегмент кода
5
60000 B8 0000s begin: mov ax,@cod ;Установим DS на начало сегмента кода нашей программы
70003 8E D8 mov ds,ax 80005 BA 0011r mov dx,offset string ;В DX - адрес начала сообщения
90008 B4 09 mov ah,9 ;Вызываем ф-цию DOS вывода сообщения на экран
10000A CD 21 int 21h
11 12000C B8 4C00mov ax,4C00h;Завершаем программу вызовом системного прерывания
13000F CD 21int 21h
140011 69 74 20 72 61 696E+ string db 'it rains cats and dogs.$'
15 73 20 63 61 74 7320+
16 61 6E 64 20 64 6F67+
17 73 2E 24
18
19 end begin
Длина сегментов:
Start Stop Length Name Class
00000H 00028H 00029H _TEXT CODE
0002AH 0002AH 00000H _DATA DATA
Program entry point at 0000:0000
Результаты работы программы:
2. Программа вывода на экран текстовой строки с использованием сегмента кода и сегмента данных.
Листинг программы:
Turbo Assembler Version 3.1 18/10/07 22:43:29 Page 1
pr12.ASM
10000 .model tiny ;Модель памяти TINY
2
3
4
50000 .code; Директива, описывающая сегмент кода
6
70000 B8 0000s begin: mov ax,@data
80003 8E D8 mov ds,ax
90005 BA 0000r mov dx,offset string; В DX - адрес начала сообщения
100008 B4 09 mov ah,9 ; Вызываемф-цию DOS вывода сообщения на экран
11000A CD 21 int 21h
12
13000C B8 4C00 mov ax,4C00h ; Завершаем программу вызовом системного прерывания
14000F CD 21 int 21h 150011 .data ; Директива, описывающая сегмент данных
160000 69 74 20 72 61 696E+ string db 'it rains cats and dogs.$'
17 73 20 63 61 74 7320+
18 61 6E 64 20 64 6F67+
19 73 2E 24
20
21 end begin
Длина сегментов:
Start Stop Length Name Class
00000H 00010H 00011H _TEXT CODE
00012H 00029H 00018H _DATA DATA
Program entry point at 0000:0000
Результаты работы программы:
3. Программа вывода на экран текстовой строки с использованием сегмента кода, сегмента стека и сегмента данных.
Листинг программы:
Turbo Assembler Version 3.1 18/10/07 22:49:38 Page 1
pr13.ASM
10000.model tiny ; Модель памяти TINY 2 3
40000.stack 100h
5 60000.code ; Директива, описывающая сегмент кода
7
80000 B8 0000s begin: mov ax,@data
90003 8E D8 mov ds,ax
100005 BA 0000r mov dx,offset string ; В DX - адрес начала сообщения
110008 B4 09 mov ah,9 ; Вызываемф-цию DOS вывода сообщения на экран
12000A CD 21 int 21h 13
14000C B8 4C00mov ax,4C00h ; Завершаем программу вызовом
15000F CD 21 int 21h ; системного прерывания
160011.data; Директива, описывающая сегмент данных
170000 69 74 20 72 61 696E+ string db 'it rains cats and dogs.$'
18 73 20 63 61 74 7320+
19 61 6E 64 20 64 6F67+
20 73 2E 24
21
22 end begin
Длина сегментов:
Start Stop Length Name Class
00000H 00010H 00011H _TEXT CODE
00012H 00029H 00018H _DATA DATA
00030H 0012FH 00100H STACK STACK
Program entry point at 0000:0000
Результаты работы программы:
Документ
Категория
Рефераты
Просмотров
8
Размер файла
74 Кб
Теги
1/--страниц
Пожаловаться на содержимое документа