4889

Компилятор TASM. Отладчик Turbo Debugger

Лабораторная работа

Информатика, кибернетика и программирование

Компилятор TASM. Отладчик Turbo Debugger. Цель работы: Научиться использовать компилятор TASM и отладчик TurboDebugger. Необходимые сведения Язык ассемблера – это специфический язык программирования со взаимно однозначным соответствием ме...

Русский

2012-11-28

96 KB

57 чел.

Компилятор TASM. Отладчик Turbo Debugger.

Цель работы: Научиться использовать компилятор TASM и отладчик Turbo Debugger.

Необходимые сведения

Язык ассемблера – это специфический язык программирования со взаимно однозначным соответствием между его операторами и командами процессора. Язык ассемблера существует для каждого типа процессоров или целого семейства процессоров, поскольку команды на языке ассемблера должны иметь взаимно однозначное соответствие с системой машинных команд и должны быть согласованы с архитектурой компьютера.

Ассемблер – это программа, преобразовывающая исходные коды языка ассемблера в машинные команды. Ассемблер может создавать листинг программы с номерами строк, адресами памяти, исходными операторами и таблицей перекрестных ссылок символов и переменных, используемых в программе. Специальная программа – загрузчик (компоновщик)– позволяет собрать отдельные файлы, созданные ассемблером, в единую исполняемую программу.

Программа, написанная в кодах ассемблера, называется исходной программой, а ее преобразованный вид в команды микропроцессора – объектной программой или объектным модулем. Компоновщик позволяет создать исполняемый файл или исполняемый модуль. Отладчик – это программа, позволяющая отображать на экране значения необходимых переменных, получать состояния всех регистров и ячеек памяти при пошаговом исполнении программы, вносить изменения в программу, указывать точки останова и многое другое.

Обработка программ на языке ассемблера в MS-DOS состоит из следующих этапов:

  1.  Создать с помощью текстового редактора файл с текстом программы на языке ассемблера.
  2.  Транслировать программу с помощью ассемблера TASM ;
  3.  Скомпоновать программу с помощью компоновщика TLINK.
  4.  Запустить программу на выполнение.
  5.  Проверить результаты работы программы. В случае несоответствия необходимо найти ошибки с помощью отладчика Turbo Debugger

Рассмотрим детально каждый из этапов на примере простейшей программы, которая выводит на экран строку «Hello, world!» (без кавычек)

1 этап.

Для создания файла с текстом программы на языке ассемблера можно воспользоваться встроенным текстовым редактором в Far Manager. Комбинация клавиш Shift-F4 позволяет создать новый файл для редактирования, при этом необходимо указать имя вновь создаваемого файла, например, Myprog.asm. (Расширение файла с программой или исходного файла обязательно должно быть asm) Для редактирования уже существующего  файла нужно навести на него курсор и нажать F4. Сохранить изменения в файле – F2, выйти из редактора – ESC. Также можно воспользоваться редактором БЛОКНОТ среды Windows. (Пуск/Программы/Стандартные/Блокнот)

В текстовом редакторе наберите строки следующей программы. Каждый оператор на отдельной строке.(Комментарии не обязательно)

TITLE My Program

;название программы

.MODEL small

;отводим под стек и под данные по 64Кб

.STACK 100h

;отмечаем начало сегмента стека

.DATA

;отмечаем начало сегмента данных

message DB ’Hello, world!’,0dh,0ah,’$’

.CODE

;отмечаем начало сегмента кодов

main PROC

MOV AX, @data

;копируем адрес

MOV DS, AX

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

MOV AH, 9

;вывод

MOV DX, offset message

;строки

INT 21h

;на экран

MOV AX,4C00h

;выход

INT 21h

;из программы

main ENDP

END main

Сохраните программу в отдельной директории.

2 и 3 этапы.

Для удобства работы можно создать командный файл, который содержит в себе вызов транслятора и компоновщика с соответствующими опциями. Это можно сделать следующим образом.

Перейдите директорию, где уже содержится исходный файл Myprog.asm. Создайте в текстовом редакторе (в Far Manager) текстовый файл с расширением .bat. Назовите его, например, a.bat. Наберите следующие строки:

@echo off

C:\TEMP\ASM\tasm /zi %1.asm, %1.obj, %1.lst

C:\TEMP\ASM\tlink /v %1.obj

Во второй строчке вызывается компилятор с нужными опциями для файла с исходной программой, который будет указан в командной строке. В третьей строчке вызывается компоновщик для создания ехе-файла.

Для компиляции программы в командной строке необходимо набрать a.bat Myprog (если исходная программа хранится в файле Myprog.asm)

После трансляции в текущей директории появляются файлы с расширением .lst, .map, .exe. Файл с расширением .lst содержит информацию об ошибках. Обязательно нужно просматривать файл листинга на наличие ошибок в программе, после этого необходимо исправить их и заново оттранслировать программу.

4 этап.

Если ошибки не найдены, то запустите на исполнение созданный ехе-файл. Для этого достаточно набрать в командной строке название исполняемого файла. В нашем случае Myprog.ехе. Проследите, что происходит на экране.

5 этап.

Если результат программы не удовлетворяет, то программу следует запустить на исполнение по контролем отладчика Turbo Debugger. Для этого в командной строке наберите C:\TEMP\ASM\td Myprog.exe Можно оформить этот вызов в виде командного файла для удобства. Далее откройте окно для просмотра содержимого регистров (Veiw\CPU) и выполните пошаговое исполнение программы (F8). Выход из отладчика – ALT-X. Посмотрите, как меняется содержимое регистров на каждом шаге. Если найдены ошибки, то необходимо вернуться к 1 этапу и повторить все действия по компиляции программы.


 

А также другие работы, которые могут Вас заинтересовать

82835. Безработица. Причины образования, последствия 244 KB
  Актуальность темы заключается в том что проблема занятости и безработицы в наши дни становится неотъемлемым элементом жизни России оказывающим существенное влияние не только на социально-экономическую но и на политическую ситуацию в стране.
82836. Генная инженерия 65.36 KB
  Цели создания ГМО – продовольственная и сельскохозяйственная организация ООН FO рассматривает использование методов генетической инженерии для создания трансгенных сортов растений либо других организмов как неотъемлемую часть сельскохозяйственной биотехнологии.
82837. Вооруженные силы РФ на современном этапе 162.5 KB
  Конфронтация между Востоком и Западом уступила место партнерству. Наметилась важная позитивная тенденция создания европейской системы коллективной безопасности. Произошли и другие положительные сдвиги.
82838. Функціоналізм в американській психології 112.5 KB
  На відміну від структуралізму, який виник в Європі та поширилася на Сполучені Штати, функціоналізм виник на американському грунті. Однією з передумов його виникнення була дарвінівська теорія еволюції, що опанувала розумами як у Європі, так і в Америці в кінці XIX ст.
82839. Вода в організмі людини: роль і вміст 61 KB
  Кожна жива клітка організму людини містить цілющий водний розчин різних живильних речовин. В цілому організм людини перебуває на 86–50 з води 86 у новонародженого і 50 у старого. Значення води в житті людини визначається тими функціями і тією величезною часткою яку вона займає в загальній...
82840. Медицина в средние века 34.72 KB
  В течении всего средневекового периода природа оставалась закрытой книгой. Как доказательство, приводят совершенное отсутствие в средние века гигиены, как в частных жилищах, так и вообще в городах, а так же свирепствования в течение всего этого периода убийственных эпидемии чумы...
82841. Стан природи і настрій людини в поезіях Лесі Українки. Розповідь про життя і творчість поетеси. Вірш «Давня весна» 49 KB
  Розширити поглибити й узагальнити знання учнів про дитячі роки поетеси її творчість; викликати емоційне сприйняття; розкрити вплив природи на настрій і почуття поетеси удосконалювати вміння порівнювати; знаходити і пояснювати метафори; розвивати виразність читання; образне мислення уяву.
82842. Леся Українка (стаття). Леся Українка. Вірш «Мамо, іде вже зима» 71 KB
  Тип уроку: комбінований. Обладнання: портрет Лесі Українки виставка видань її книжок підручник картки із завданнями магнітофон проектор мультимедійна дошка презентація до уроку. До уроку додається слайдова презентація яка стимулює пізнавальну активність учнів.
82843. Развитие речи. Толерантность. Деформированный текст с творческим заданием 36.5 KB
  Какие три слова стали законом в семье где царили мир и согласие Любовь прощение терпение Всё это можно назвать одним словом Толерантность запишем его Толерантность II. Наверно это слово было вам незнакомо но в современном мире вы не раз его услышите поэтому сегодня на уроке мы познакомимся...