Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти та науки України
Національний університет «Львівська політехніка»
ЗВІТ
З лабораторної роботи №1
З дисципліни: «Засоби системного програмування»
На тему: «Процес створення
Завдання:
За допомогою текстового редактора створити файл з <прізвище>.asm , який містить програму, приведену нижче. (Параметр <прізвище> повинен містити Ваше прізвище в англійській транслітерації і мати довжину до 8 символів).
В тексті програми змінити повідомлення, що міститься за міткою HelloMessage так, щоб воно відображало Ваше прізвище. Зберегти внесені зміни.
Створити <прізвище>.exe-файл засобами система Turbo-Assembler. (тобто в командному рядку виконати:
tasm <прізвище>.asm <Enter>;/l
tlіnk <прізвище>.obj <Enter> )
Виконати створену програму і переконатися, що вона працює коректно, тобто виводить Ваше прізвище на екран.
Запустити систему відлагодження Turbo Debug та ознайомитися з її інтерфейсом та можливостями (td.exe).
Покроково виконати в системі Turbo Debug створений вище .exe – файл, задокументувавши зміни регістрів процесора та вміст сегменту даних.
Скласти звіт про виконану роботу, який повинен містити короткий опис можливостей Turbo Debug та лістинг Вашої програми, тобто вміст файлу <прізвище>.lst
Лістинг програми (вмістиме файлу *.lst):
Turbo Assembler Version 4.1 03/07/10 23:52:55 Page 1
C:\TASM\Progs\Kobernyk.asm
№
Зміщення в сегменті
16-й Код команди асемблера
Команда асемблера
Коментарі
1
0000
.model small
;модель памяті
2
0000
.stack 100h
;сегмент стеку
3
0000
.data
;сегмент даних
4
0000
4B 6F 62 65 72 6E 79+
6B 0A 0D 24
msg db 'Kobernyk' ,10, 13, '$'
;мітка з даними (повідомлення, яке буде виведене на екран)
5
000B
.code
;сегмент коду
6
0000
go:
;мітка початку програми
7
0000
B8 0000s
mov ax, @data
;Занесення адреси зміщення сегменту даних в регістр ax
8
0003
8E D8
mov ds, ax
; Занесення вмістимого регістру ax в регістр ds
9
0005
B4 09
mov ah,9
;Занесення десяткового числа 9 в старший байт al регістру ax
10
0007
BA 0000r
mov dx, offset msg
;Занесення адреси повідомлення в регістр dx
11
000A
CD 21
int 21h
;виклик переривання 21h і виконання функції з регістру al
12
000C
B4 10
mov ah,10h
;Занесення шіснадцяткового числа 10h в регістр al
13
000E
CD 16
int 16h
;виклик переривання 16h і виконання функції з регістру al
14
0010
B4 4C
mov ah,4Ch
;Занесення шіснадцяткового числа 4Сh в регістр al
15
0012
CD 21
int 21h
;виклик переривання 21h і виконання функції з регістру al
16
end go
;завершення програми, яка розпочиналась з заданої мітки
Turbo Assembler Version 4.1 03/07/10 23:52:55 Page 2
Symbol Table
Додаткові дані про програму:
Symbol Name
Type
Value
??DATE
Text
"03/07/10"
??FILENAME
Text
"Kobernyk"
??TIME
Text
"23:52:55"
??VERSION
Number
040A
@32BIT
Text
0
@CODE
Text
_TEXT
@CODESIZE
Text
0
@CPU
Text
0101H
@CURSEG
Text
_TEXT
@DATA
Text
DGROUP
@DATASIZE
Text
0
@FILENAME
Text
KOBERNYK
@INTERFACE
Text
000H
@MODEL
Text
2
@STACK
Text
DGROUP
@WORDSIZE
Text
2
GO
Near
_TEXT:0000
MSG
Byte
DGROUP:0000
Groups & Segments Bit Size Align Combine Class
DGROUP
Group
STACK
16 0100 Para
Stack
STACK
_DATA
16 000B Word
Public
DATA
_TEXT
16 0014 Word
Public
CODE
Висновок і результат роботи програми: