4889

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

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

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

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

Русский

2012-11-28

96 KB

58 чел.

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


 

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

19347. МНОГОЯДЕРНАЯ АРХИТЕКТУРА 277 KB
  АК ЛЕКЦИЯ № 24 МНОГОЯДЕРНАЯ АРХИТЕКТУРА Вычислительные системы класса MIMD Технология SIMD исторически стала осваиваться раньше что и предопределило широкое распространение SIMDсистем. В настоящее время тем не менее наметился устойчивый интерес к архитектурам класс...
19349. Проводниковые материалы 88 KB
  Лекция №2 Проводниковые материалы. Основные электрические параметры металлов Из общего курса физики известно что плотность электрического тока в веществе определяется зарядом q концентрацией n и дрейфовой средней направленной скоростью носителей заря
19350. Материалы используемые в электронных приборах 126 KB
  Лекция №1 Введение Для создания электронных приборов необходимо много различных материалов и уникальных технологических процессов. Современная радиотехника и особенно высокочастотная техника радиосвязь приборы и аппаратура радиоэлектроники требуют б...
19351. Неметаллические проводниковые материалы 27.87 KB
  Лекция №3. Неметаллические проводниковые материалы. Сверхпроводники. При понижении температуры удельное сопротивление p металлов уменьшается. Представляет большой интерес электропроводность металлов при весьма низких криогенных температурах приближающихся к...
19352. Диэлектрические материалы 49 KB
  Лекция №4 Диэлектрические материалы. Диэлектрическими называются электротехнические материалы с. большим сопротивлением прохождению тока электроизоляционными диэлектрические материалы диэлектрики предназначенные для изоляции электрических цепей элемент
19353. Зависимость диэлектрической проницаемости от температуры и частоты переменного электрического тока 193.5 KB
  Лекция №5 Зависимость диэлектрической проницаемости от температуры и частоты переменного электрического тока Зависимость диэлектрической проницаемости от температуры давления влажности напряжения. Характер температурной зависимости ε диэлектриков с разл...
19354. Магнитные свойства материалов 223 KB
  Лекция №6 Магнитные свойства материалов. Величины с помощью которых оцениваются магнитные свойства материалов называются магнитными характеристиками. К ним относятся: абсолютная магнитная проницаемость; относительная магнитная проницаемость; темп
19355. Ферриты и их применение в технике сверхвысоких частот 102.5 KB
  Лекция №7 Ферриты и их применение в технике сверхвысоких частот. Ферриты от лат. ferrum железо в прямом смысле химические соединения окиси железа Fe2O3 с окислами других металлов; в более широком понимании сложные окислы содержащие железо и другие элементы. Большин...