Міністерство освіти І науки України
національний університет “Львівська політехніка”
КАФЕДРА ЕОМ
Лабораторна робота №1
з курсу
”Системне програмування ”
Процес створення виконавчих файлів. Ознайомлення з відлагоджувачем Turbo Debug
Виконав:
Ст. гр. КІ-22
Прийняв:
Акимишин О.І.
Львів – 2010
МЕТА: освоїти послідовність дій для компіляції програм, написаних на мові Assembler за допомогою системи Turbo Assembler та здобути навики їх від лагодження засобами середовища Turbo Debug
Для того, щоб скомпілювати програму, написану на мові Assembler, яка знаходиться у файлі з розширенням .asm слід виконати наступні команди з командної стрічки:
tasm fіlename.asm <Enter>
Результат - файл fіlename.obj. Необов'язкові параметри /l або /la призводять до додаткової генерації файлу fіlename.lst, що містить лістинг асемблювання програми.
tlіnk fіlename.obj <Enter>
Результат - файл fіlename.exe, що вже можна запускати.
ЗАВДАННЯ:
За допомогою текстового редактора створити файл з <прізвище>.asm , який містить програму, приведену нижче. (Параметр <прізвище> повинен містити Ваше прізвище в англійській транслітерації і мати довжину до 8 символів).
В тексті програми змінити повідомлення, що міститься за міткою HelloMessage так, щоб воно відображало Ваше прізвище. Зберегти внесені зміни.
Створити <прізвище>.exe-файл засобами система Turbo-Assembler. (тобто в командному рядку виконати:tasm <прізвище>.asm <Enter>;/ltlіnk <прізвище>.obj <Enter> )
Виконати створену програму і переконатися, що вона працює коректно, тобто виводить Ваше прізвище на екран.
Запустити систему відлагодження Turbo Debug та ознайомитися з її інтерфейсом та можливостями (td.exe).
Покроково виконати в системі Turbo Debug створений вище .exe – файл, задокументувавши зміни регістрів процесора та вміст сегменту даних.
Скласти звіт про виконану роботу, який повинен містити короткий опис можливостей Turbo Debug та лістинг Вашої програми, тобто вміст файлу <прізвище>.lst
Лістинг програми: VASIK. LST
Turbo Assembler Version 3.0 03/14/10 13:10:09 Page 1
vasik.asm
1 DOSSEG
2 0000 .MODEL SMALL
3 0000 .STACK 100h
4 0000 .DATA
5 0000 20 20 56 41 53 49 4B+ HelloMessage db ' VASIK ', 13, 10, '$'
6 20 0D 0A 24
7 000B .CODE
8 0000 1E push ds
9 0001 2B C0 sub ax,ax
10 0003 50 push ax
11 0004 B8 0000s mov ax,@data
12 0007 8E D8 mov ds,ax
13 0009 B4 09 mov ah,9
14 000B BA 0000r mov dx,OFFSET HelloMessage
15 000E CD 21 int 21h
16 0010 B4 07 mov ah,07h
17 0012 CD 21 int 21h
18 0014 B4 4C mov ah,4ch
19 0016 CD 21 int 21h
20 END
Turbo Assembler Version 3.0 03/14/10 13:10:09 Page 2
Symbol Table
Symbol Name Type Value
??DATE Text "03/14/10"
??FILENAME Text "vasik "
??TIME Text "13:10:09"
??VERSION Number 0300
@32BIT Text 0
@CODE Text _TEXT
@CODESIZE Text 0
@CPU Text 0101H
@CURSEG Text _TEXT
@DATA Text DGROUP
@DATASIZE Text 0
@FILENAME Text VASIK
@INTERFACE Text 00H
@MODEL Text 2
@STACK Text DGROUP
@WORDSIZE Text 2
HELLOMESSAGE 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 0018 Word Public CODE
Основні призначення та можливості Turbo Debug
Вікно процесора сладається з 5 внутрішніх вікон для спостереження тексту програми на мові асемблера і в машинних кодах, регістрів процесора, прапорів, стека і вмісту пам'яті, дампу сегментних даних.
За допомогою цих вікон можна повністю контролювати хід виконання відладжуваної програми. Для того, щоб можна було працювати з конкретним вікном, наприклад, прокручувати його вміст, треба зробити його активним, клацнувши по ньому мишею. Перейти з вікна у вікно можна також за допомогою клавіатури, натискаючи клавішу Tab.
Результати виконання програми:
Висновок: Виконуючи дану лабораторну роботу, я освоїв послідовність дій для компіляції программ, написаних на мові Assembler за допомогою системи Turbo Assembler та здобув навики їх відлагодження засобами середовища Turbo Debug.