Міністерство освіти і науки України
Національний університет “Львівська Політехніка”
Кафедра ЕОМ
ЗВІТ
з лабораторної роботи №1
з дисципліни: “Засоби системного програмування”
на тему: “Процес створення
Львів 2016
Мета роботи: Освоїти послідовність дій для компіляції програм, написаних на мові Assembler за допомогою системи Turbo Assembler та здобути навики їх від лагодження засобами середовища Turbo Debug
Завдання:
За допомогою текстового редактора створити файл <прізвище>.asm , який містить текст програми. (Параметр <прізвище> повинен містити Ваше прізвище в англійській транслітерації і мати довжину до 8 символів).
В тексті програми змінити повідомлення, що міститься за міткою HelloMessage так, щоб воно відображало Ваше прізвище. Зберегти внесені зміни.
Створити <прізвище>.exe-файл засобами система Turbo-Assembler. (тобто в командному рядку виконати:tasm <прізвище>.asm /la <Enter>; tlіnk <прізвище>.obj <Enter> )
Виконати створену програму і переконатися, що вона працює коректно, тобто виводить Ваше прізвище на екран.
Запустити систему відлагодження Turbo Debug та ознайомитися з її інтерфейсом та можливостями (td.exe).
Покроково виконати в системі Turbo Debug створений вище .exe – файл, задокументувавши зміни регістрів процесора та вміст сегменту даних.
Скласти звіт про виконану роботу, який повинен містити короткий опис можливостей Turbo Debug та лістинг Вашої програми, тобто вміст файлу <прізвище>.lst
Короткі теоретичні відомості:
Turbo Debug - відладчик фірми Borland, достатньо потужний засіб налагодження програм. Цей відладчик розроблявся ще для DOS-програмування і орієнтований в основному на мови фірми Borland. Суттєвим є те, що відладчик дозволяє відлагоджувати програму як на рівні дизасемблювання команд мікропроцесора, так і на рівні початкового тексту програми. В останньому випадку потрібно, щоб при трансляції в виконуваний модуль була поміщена відлагоджуюча інформація.
Відладчик Turbo Debugger може допомогти вирішити два найважчих завдання відлагодження:
Визначення місцезнаходження помилки
Виявлення причини помилки.
Turbo Debugger допомагає подолати ці складнощі завдяки широким можливостям призупиняти виконання програми та перевіряти її стан в будь-якій точці. Можна навіть задавати нові значення змінним і перевіряти їх вплив на виконання програми. Ця можливість реалізується такими функціями відладчика як трасування, покрокове виконання, перегляд, перевірка, заміна і стеження.
Хід роботи:
За допомогою програми Notepad++, яка виконує функції текстового редактора, створюю файл pidgrus.asm, який буде містити код програми.
Зберігаю в цьому файлі наступний код:
.MODEL SMALL
.STACK 100h
.DATA
HelloMessage db 'Karpyn Roman', 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
Створюю KARPYN.exe-файл засобами системи Turbo-Assembler (тобто в командному рядку виконую асемблерування та лінкування)
/
Рис. 1. Результат виконання програми,виведення прізвища на екран
Для запуску дебагера виконую в командному рядку td.exe
Клавішею F8 покроково виконую в системі Turbo Debug створений вище .exe – файл
Рис. 2. Покрокове виконання програми
(В лівій частині вікна можна побачити команди, які виконуються та їх параметри. В правій частині вікна показано вміст регістрів та стани прапорців)
Вмістиме файлу KARPYN.lst :
Turbo Assembler Version 3.0 02/19/16 22:23:17 Page 1
Karpyn.asm
1 0000 .MODEL SMALL
2 0000 .STACK 100h
3 0000 .DATA
4 0000 4B 61 72 70 79 6E 20+ HelloMessage db 'Karpyn Roman', 13, 10, '$'
5 52 6F 6D 61 6E 0D 0A+
6 24
7 000F .CODE
8 0000 1E Start: 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 ...