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


 

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

9064. Онтология, гносеология и этика Блаженного Августина 15.37 KB
  Онтология, гносеология и этика Блаженного Августина. Августин Блаженный ( 354-430гг.) был рожден в семье язычника, мать- христианка. В 16 лет прочел диалог Цицерона Гортензий, начал придерживаться философии христианства. Решается прочесть Библию....
9065. АТТЕСТАЦИЯ РАБОЧИХ МЕСТ КАК ФАКТОР УЛУЧШЕНИЯ УСЛОВИЙ ТРУДА 1.12 MB
  Аттестация рабочих мест – один из основных видов контроля охраны труда. При аттестации рабочих мест наряду с оценкой технического уровня оснащения рабочих мест и их организации проводится анализ их соответствия требованиям охраны труда, как в части условий труда, так и в части проводимых технологических процессов, используемого оборудования и средств защиты
9066. Северин Боэций, Утешение философией (проблемы соотношения Провидения и свободы воли, времени и вечности, теодицея) 20.15 KB
  Северин Боэций, Утешение философией (проблемы соотношения Провидения и свободы воли, времени и вечности, теодицея) Утешение философией это последнее сочинение Боэция, написанное во время пребывания в тюрьме в ожидании казни. Трактат, отличающийся бо...
9067. Проблема соотношения веры и знания, теологии и философии в средневековой философии 15.11 KB
  Проблема соотношения веры и знания, теологии и философии в средневековой философии. О вере и знании: Философия на данном этапе находилась под исключительным воздействием религиозной догматики, к подавляющему влиянию которой прибавлялось наслед...
9068. Проблема универсалий и варианты ее решения 18.83 KB
  Проблема универсалий и варианты ее решения Универсалии-понятия, идеи. Универсалия (от лат. universalis - общий) - термин средневековой философии, обозначающий общие понятия. Проблема универсалий восходит к философским идеям Платона и Арист...
9069. Доказательства бытия Бога. Ансельм Кентерберийский и Фома Аквинский 18.15 KB
  Доказательства бытия Бога. Ансельм Кентерберийский и Фома Аквинский. Ансельм Кентерберийский (11 век) Он фактически повторяет формулу Августина. Но если для Августина знание было не обязательно, то для Ансельма вера всегда стремится к пониманию. Что...
9070. Схоластическая система Фомы Аквинского 17.39 KB
  Схоластическая система Фомы Аквинского Фома Аквинский - ангельский доктор. Монах доминиканского ордена. Ему необходимо было что-то противопоставить линии Августина. Его целью было примирить Аристотеля с христианством. И ему это с блеском удало...
9071. Трактовка человека в философии Пико дела Мирандолы 21.54 KB
  Трактовка человека в философии Пико дела Мирандолы По произведению Речь о достоинстве человека. Прежде всего обращаем внимание на эпиграф Человек - свободный творец самого себя. Первое о чем рассказывает- в писании арабов некий Абдалла Сарацин...
9072. Никколо Макиавелли Государь 32.76 KB
  Никколо Макиавелли Государь Здесь фактически просто мой краткий пересказ произведения по главам. Глава I. Скольких видов бывают государства и как они приобретаются. Есть либо республики, либо государства, управляемые единовластно. Последние могут бы...