Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
45
Добавлен:
20.03.2015
Размер:
32.77 Кб
Скачать

TASM – Турбоассемблер

Для разработки программы нужно сделать несколько шагов:

  1. Создать исходный текст программы (текстовый файл с расширением «asm»)

  1. Провести компиляцию исходного файла

Запуск в командной строке: TASM /z /zi /l filename.asm,

где filename – любое имя файла

В результате компиляции создается файл filename.lst и, если нет грубых ошибок,

файл filename.obj (объектный файл, где все команды и данные в компьютерных кодах)

Опция /L - Создать листинг программы.

Опция /Z - выводить исходный текст вместе с сообщением об ошибках

Опция /ZI – дополнительная информация для дебагера (отладчика).

  1. Отредактировать объектный файл для получения исполнимого файла (filename. еxe)

Запуск в командной строке: TLINK /v filename.obj

Опция /V – дополнительная информация для дебагера.

Создает файл: filename л.exe и filename.map

  1. Если при выполнении компиляции был включен флаг ZI, то «файл.exe» можно загрузить турбодебагер для DOS (TD.EXE) для тестирования программы и для поиска ошибок, не выявленных компилятором.

Для этого нужно в командной строке выполнить команду: TD filename.exe.

Или запустить просто TD.EXE и в открывшемся браузере открыть нужный «exe» файл (Закладка «Файл, открыть»), а в закладке «Вид» открыть нужные вам окна (просмотр содержимого регистров, переменных , …).

Пример программы типа EXE

MODEL TINY или SMALL ; используем только двух байтовые и однобайтовые регистры

.stack 100h ; размер stack 256 байт

.data ; data segment

n1 dw 53 ; описываете переменные в зависимости от условия задачи

x dd 0

и т.д.

.code ; code segment

start:

mov ax,@data ; две обязательных команды для актуализации сегмента данных

mov ds,ax ; set segment register (регистр ds – базовый для сегмента данных)

; *** любые команды, требуемые для решения задачи

mov ax,2344h

mov bx,0EF22h

add ax,bx

add n1,ax

mov ah,4Ch ; Обязательные две команды, для корректного выхода из программы

int 21h ; terminate program (выход из программы в DOS)

end start