4889

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

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

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

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

Русский

2012-11-28

96 KB

59 чел.

Компилятор 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 этапу и повторить все действия по компиляции программы.


 

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

33854. Духовные ценности и их роль в воспитании и образовании 14.12 KB
  Если предметные ценности выступают как объекты потребностей и интересов человека то ценности сознания выполняют двоякую функцию: они суть самостоятельная сфера ценностей и основание критерий оценки предметных ценностей. Особенностью высших ценностей выступает также и то что они составляют стержень культуры определенного народа фундаментальные отношения и потребности людей: общечеловеческие мир жизнь человечества ценности общения дружба любовь доверие семья социальные ценности представления о социальной справедливости свободе...
33855. Человечество 15.75 KB
  Человечество становится единым целым в ходе отношений в эпоху открытия мирового рынка. повсеместные охватывают все челво; от решения этих проблем зависит существование челва; решение требует усилий больва челва.Угрозы: Экологические катастрофы; Деградация челва; Мировая война. Человек биологический вид и ему необходимы привычные условия обитания.
33856. Системный анализ общества и исторического процесса 14.58 KB
  Философия была бы неполной и односторонней если бы она абстрагировалась от человека а значит и от общества ограничивая свои интересы исследованием ненаселенной людьми природы. Все это превращает системное философскосоциологическое осмысление общества и исторического процесса в абсолютно необходимую и притом органически составную часть философии. Сегодня ясно что без природы как базиса у общества нет будущего.
33857. ПРЕДМЕТ ФИЛОСОФИИ. Функции философии 14.86 KB
  ПРЕДМЕТ ФИЛОСОФИИ Философия от греч. Философия это наука о всеобщем она свободная и универсальная область человеческого знания постоянный поиск нового. Философия как система делится: на теорию познания; метафизику онтологию философскую антропологию космологию теологию философию существования; логику математику логистику; этику; философию права; эстетику и философию искусства; натурфилософию; философию истории и культуры; социальную и экономическую философию; религиозную философию; психологию. Философия включает в себя: учение...
33858. Соотношение философии с религией, искусством и наукой 14.64 KB
  Является ли философия наукой Первое. Философияв ней также есть систематичность доказательность проверяемость. Поскольку в философии ей уделяют первостепенное внимание то философия наука философиялюбовь к мудрости истине.
33859. СТАНОВЛЕНИЕ И РАЗВИТИЕ ФИЛОСОФИИ 15.76 KB
  В дальнейшем происходит выделение из предфилософии и специализированного знания науки. Первые философы появились в VII VI веках до нашей эры значит история философии насчитывает более 2500 лет. Вопервых мир философии не следует рассматривать как хаотическую совокупность непространственных и вневременных случайно возникающих взглядов и идей.
33860. ФИЛОСОФИЯ ДРЕВНЕГО ВОСТОКА 15.05 KB
  В Индии процесс зарождения Ф. возникает в Индии как критика брахманизма. систематически излагалась в сутрах Веды первые священные книги древней Индии результатом дальнейшей разработки канонов учения стали Брахманы I тыс. обобщающее в себе все три уровня атман Буддизм зародился в Индии в VIV вв.
33861. ФИЛОСОФИЯ ДРЕВНЕЙ ИНДИИ 19.33 KB
  Это очень древняя форма философии в Индии. Буддизм возник на северовостоке Индии в областях добрахманистской культуры. Буддизм быстро распространился по всей Индии и достиг максимального расцвета в конце I тысячелетия до н.
33862. ФИЛОСОФИЯ ДРЕВНЕГО КИТАЯ 15.43 KB
  В ходе борьбы этих двух тенденций все шире распространялись наивноматериалистические идеи о пяти первоначалах вещей металле дереве воде огне земле; о противоположных началах инь и янь о естественном пути дао. В развитии философии Древнего Китая важное значение имел Даосизм. Даосизм философское учение основоположником которого по традиции считают Лаоцзы жившего в конце VII начале VI в до н. Главная категория философского даосизма дао путь понимается как всеобщий закон природы как первопричина всего сущего как источник...