Ім'я файлу: Звіт ЗСМ №1.docx
Розширення: docx
Розмір: 67кб.
Дата: 27.04.2021
скачати
Пов'язані файли:
Реферат по охране труда в отрасли. Проф.заболевания гитариста и
Реферат по охране труда в отрасли. Проф.заболевания гитариста и

Міністерство освіти і науки України

Національний університет “Львівська політехніка”




Звіт

про виконання лабораторної роботи №1

з дисципліни:

“Засоби системного програмування”

на тему:

“Процес створення виконавчих файлів. Ознайомлення з відлагоджувачем Turbo Debug”

Виконав: ст.гр. КІ-24

Коротких А.М.

Прийняв: асистент

Шологон О.З.

Львів 2021

Мета: освоїти послідовність дій для компіляції програм, написаних на мові Assembler за допомогою системи Turbo Assembler та здобути навики їх від лагодження засобами середовища Turbo Debug.
Теоретичні відомості

Для того, щоб скомпілювати програму, написану на мові Assembler, яка знаходиться у файлі з розширенням .asm слід виконати наступні команди з командної стрічки:

tasm fіlename.asm

Результат - файл fіlename.obj. Необов'язкові параметри /l або /la призводять до додаткової генерації файлу fіlename.lst, що містить лістинг асемблювання програми.

tlіnk fіlename.obj

Результат - файл 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

  1. Обчислення будь-яких виразів мови Сі, C ++, Pascal і Assembler.

  2. Повне управління виконанням програми, включаючи програмовану анімацію.

  3. Доступ на нижньому рівні до регістрів процесора і системної пам'яті.

  4. Трасування повідомлень Windows, включаючи точки зупину за повідомленнями.

  5. Копіювання і вставка між вікнами і діалогами.

  6. Контекстно-залежні меню.

  7. Можливість налагодження великих програм.

  8. Збереження сеансу.

  9. Можливість підключення готових до виконання в Windows процесів.


ЗАВДАННЯ:

  1. За допомогою текстового редактора створити файл <прізвище>.asm , який містить програму, приведену нижче. (Параметр <прізвище> повинен містити Ваше прізвище в англійській транслітерації і мати довжину до 8 символів).

  2. В тексті програми змінити повідомлення, що міститься за міткою HelloMessage так, щоб воно відображало Ваше прізвище. Зберегти внесені зміни.

  3. Створити <прізвище>.exe-файл засобами система Turbo-Assembler. (тобто в командному рядку виконати:
    tasm <прізвище>.asm /la ;
    tlіnk <прізвище>.obj )

  4. Виконати створену програму і переконатися, що вона працює коректно, тобто виводить Ваше прізвище на екран.

  5. Запустити систему відлагодження Turbo Debug та ознайомитися з її інтерфейсом та можливостями (td.exe).

  6. Покроково виконати в системі Turbo Debug створений вище .exe – файл, задокументувавши зміни регістрів процесора та вміст сегменту даних.

  7. Скласти звіт про виконану роботу, який повинен містити короткий опис можливостей Turbo Debug та лістинг Вашої програми, тобто вміст файлу <прізвище>.lst.


.MODEL SMALL

.STACK 100h

.DATA

HelloMessage db 'Korotkyh', 13, 10, '$'

.CODE

Start: push ds

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
Лістинг програми (вмістиме файлу *.lst):
Turbo Assembler Version 2.51 03/28/18 00:40:48 Page 1

Khromiak.asm




Зміщення в сегменті

16-й Код команди асемблера

Команда асемблера

Коментарі

1

0000




.MODEL SMALL

;модель памяті

2

0000




.STACK 100h

;сегмент стеку

3

0000




.DATA

;сегмент даних

4

0000

4B 68 72 6F 74 6B 79+ 68 0D 0A 24

HelloMessage db 'Khromiak', 13, 10, '$'

;мітка з даними (повідомлення, яке буде виведене на екран)

6

000B




.CODE

;сегмент коду

7

0000

1E

Start:

;мітка початку програми

9

0002

B8 0000s

mov ax, @data

;Занесення адреси зміщення сегменту даних в регістр ax

10

0005

8E D8

mov ds, ax

; Занесення вмістимого регістру ax в регістр ds

11

0007

B4 09

mov ah,9

;Занесення десяткового числа 9 в старший байт ah регістру ax

12

0009

BA 0000r

mov dx,OFFSET HelloMessage

;Занесення адреси повідомлення в регістр dx

13

000C

CD 21

int 21h

;виклик переривання 21h і виконання функції з регістру ah

14

000E

B4 4C

mov ah,4ch

;Занесення шіснадцяткового числа 4Сh в регістр ah

15

0010

CD 21

int 21h

;виклик переривання 21h і виконання функції з регістру ah

16







end Start

;завершення програми, яка розпочиналась з заданої мітки


Turbo Assembler Version 4.1 03/12/21 09:10:32 Page 2

Symbol Table

Symbol Name Type Value
??DATE Text "03/12/21"

??FILENAME Text "Korotkyh"

??TIME Text "09:10:31"

??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 KOROTKYH

@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 000B Word Public DATA

_TEXT 16 0012 Word Public CODE
Висновок: виконуючи дану лабораторну роботу я отримав навички та знання послідовності дій для компіляції програм, написаних на мові Assembler за допомогою системи Turbo Assembler та здобути навики їх від лагодження засобами середовища Turbo Debug.
скачати

© Усі права захищені
написати до нас