Міністерство освіти і науки
Національний університет “Львівська політехніка”
Кафедра ЕОМ
/
Звіт
з лабораторної роботи № 1
з дисципліни: “Засоби системного програмування”
на тему: “Процес створення
Мета лабораторної роботи
Освоїти послідовність дій для компіляції програм, написаних на мові 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, що вже можна запускати.
Зауваження: вхідний файл fіlename.asm повинен знаходитися в каталозі системи Turbo Assembler (TASM), інакше, для коректної компіляції слід вказувати повні шляхи до файлів.
Для того, щоб отримати додаткову допоміжну інформацію про параметри, опції та ключі системи TASM та TLINK, слід запустити файл TASM.exe без параметрів, або TLINK.exe, відповідно.
Turbo Debugger являє собою набір інструментальних засобів, що дозволяє налагоджувати програми на рівні початкового тексту і призначений для програмістів, що використовують сімейство компіляторів Borland. У пакет входять набір виконуваних файлів, утиліт, довідкових текстових файлів і прикладів програм.
Turbo Debugger дозволяє вам налагоджувати програми для Microsoft Windows, Windows, 32s, Windows NT і DOS. Численні переривання вікон, а також поєднання спускових і розкривних меню забезпечують швидкий, інтерактивний користувальницький інтерфейс. Інтерактивна, контекстно-залежна довідкова система забезпечить вас підказкою на всіх стадіях роботи. Крім того, Turbo Debugger повний набір засобів налагодження:
Обчислення будь-яких виразів мови Сі, C ++, Pascal і Assembler
Повне управління виконанням програми, включаючи програмну анімацію.
Доступ на нижньому рівні до регістрів процесора і системної пам'яті.
Повні можливості перевірки даних.
Розвинені можливості задання точок зупину і реєстрації.
Трасування повідомлень для Windows, включаючи точки зупину за повідомленнями.
Зворотне виконання.
Підтримка віддаленої налагодження, в тому числі для Windows.
Повна підтримка об'єктно-орієнтованого програмування, включаючи перегляд класів і перевірку об'єктів.
Дії у вигляді послідовності натискань клавіш, що прискорюють виконання команд.
Копіювання і вставка між вікнами і діалогами.
Контекстно-залежні меню.
Можливість налагодження великих програм.
Діалогові вікна, що дозволяють вам налаштувати параметри налагоджувача.
Можливість налагоджувача 16- і 32-розрядних програм для Windows (для 32-розрядної налагодження Є відладчик TD32).
Обробка виняткових ситуацій операційної системи, а також С і С ++.
Збереження сеанса.
Підтримка ниток для мультінітевого програмування Windows NT.
Можливість підключення готових до виконання в ОС Windows процесів.
Можливість вибору для елементів, що виводяться в Turbo Debugger, національного порядку сортування.
Для роботи Turbo Debugger потрібні ті ж апаратні засоби, що і для компілятора мови Borland. Крім того, Turbo Debugger підтримує графічні адаптери CGA, EGA, VGA, Hercules (монохромний графічний режим), Super VGA, ТIGA і 8414.
Індивідуальне завдання
За допомогою текстового редактора створити файл <прізвище>.asm , який містить програму, приведену нижче. (Параметр <прізвище> повинен містити Ваше прізвище в англійській транслітерації і мати довжину до 8 символів).
В тексті програми змінити повідомлення, що міститься за міткою HelloMessage так, щоб воно відображало Ваше прізвище. Зберегти внесені зміни.
Створити <прізвище>.exe-файл засобами система Turbo-Assembler. (тобто в командному рядку виконати:tasm <прізвище>.asm /la <Enter>; tlіnk <прізвище>.obj <Enter> )
Виконати створену програму і переконатися, що вона працює коректно, тобто виводить Ваше прізвище на екран.
Запустити систему відлагодження Turbo Debug та ознайомитися з її інтерфейсом та можливостями (td.exe).
Покроково виконати в системі Turbo Debug створений вище .exe – файл, задокументувавши зміни регістрів процесора та вміст сегменту даних.
Скласти звіт про виконану роботу, який повинен містити короткий опис можливостей Turbo Debug та лістинг Вашої програми, тобто вміст файлу <прізвище>.lst
Код програми
.MODEL SMALL
.STACK 100h
.DATA
HelloMessage db 'Mazurenko', 13, 10, '$'
.CODE
Start:
push ds
xor ax,ax
push ax
mov ax,@data
mov ds,ax
mov ah,9
mov dx,OFFSET HelloMessage
int 21h
mov ah,4ch
int 21h
end Start
END
Лістинг програми
Turbo Assembler Version 4.1 21/02/16 20:29:32 Page 1
Maz.asm
1 0000 п»ї.MODEL SMALL
2 0000 .STACK 100h
3 0000 .DATA
4 0000 4D 61 7A 75 72 65 6E+ HelloMessage db 'Mazurenko', 13, 10, '$'
5 6B 6F 0D 0A 24
6 000C .CODE
7 0000 Start:
8 0000 1E push ds
9 0001 33 C0 xor 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 4C mov ah,4ch
17 0012 CD 21 int 21h
18 end Start
Turbo Assembler Version 4.1 21/02/16 20:29:32 Page 2
Symbol Table
Symbol Name Type Value
??DATE Text "21/02/16"
??FILENAME Text "Maz "
??TIME Text "20:29:32"
??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 MAZ
@INTERFACE Text 000H
@MODEL Text 2
@STACK Text DGROUP
@WORDSIZE Text 2
HELLOMESSAGE Byte DGROUP:0000
START Near _TEXT:0000
Groups & Segments Bit Size Align Combine Class
DGROUP Group
STACK 16 0100 Para Stack STACK
_DATA 16 000C Word Public DATA
_TEXT 16 0014 Word Public CODE
Результат виконання програми
/
/
Висновок
Я освоїв послідовність дій для компіляції програм, написаних на мові Assembler за допомогою системи Turbo Assembler та здобув навики їх від лагодження засобами середовища Turbo Debug.