Для удобства работы с компилятором можно создать командный файл, который содержит в себе вызов компилятор и компоновщика с соответствующими опциями. Это можно сделать следующим образом.
Создайте в текстовом редакторе (в Far Manager) текстовый файл с расширением .bat. Назовите его, например, a.bat. Наберите следующие строки (компилятор и компоновщик находятся в директории C:\ASM):
@echo off
C:\ASM\tasm /zi %1.asm, %1.obj, %1.lst
C:\ASM\tlink /v %1.obj
Во второй строчке вызывается компилятор с нужными опциями для файла с исходной программой, который будет указан в командной строке. В третьей строчке вызывается компоновщик для создания ехе-файла. Для компиляции программы в командной строке необходимо набрать a.bat Myprog (если исходная программа хранится в файле Myprog.asm)
После трансляции в текущей директории появляются файлы с расширением .lst, .map, .exe. Файл с расширением .lst содержит информацию об ошибках. Обязательно нужно просматривать файл листинга на наличие ошибок в программе, после этого необходимо исправить их и заново оттранслировать программу. Если ошибки не найдены, то можно запустить на исполнение созданный ехе-файл.Для исправления ошибок можно воспользоваться отладчиком Turbo Debugger. В командной строке необходимо набрать C:\АSM\td Myprog.exe Можно оформить этот вызов в виде командного файла для удобства. После выполнения этой команды вызывается отладчик.
Просмотр содержимого регистров осуществляется командой Veiw\CPU. Пошаговое исполнение программы – F8. Выход из отладчика – ALT-X.
Задание 1:Выполнение:
В командной строке прописываем следующие команды:
а. cls - очистка экрана
Рис.2 Очистка экрана
b. md C:\TMP – создания директории
Рис.3 Создание директории
c. copy C:\*.* C:\Tmp - Копирование в директорию C:\TMP файлов из корневого каталога
Рис.4 Копирование файлов
d. copy con C:\Tmp\new.txt – создания файла
ctrl+Z – для завершения
Рис.5 Создание файлаe. copy С:\Tmp\new.txt C:\Tmp\new.bat – создания копии файла .txt c расширением .bat
Рис.6 Создание копии файла с другим расширением (.bat)
f. comp С:\Tmp\new.txt C:\Tmp\new.bat – сравнения файлов .txt c .bat
Рис.7 Сравнение файлов с различными расширениями
g. dir C:\tmp /p – просмотр директории постранично
Рис.8 Просмотр директории постранично
Задание 2:Title main proga
.model SMALL
.data
mas dw 9,9,8,7,6,5,4,3,2,1,3,4,5 ; первый массив
mas1 dw 1,2,3,4,5,6,7,8,9,9 ; второй массив
me db "Index Massiva$"
.stack 100h ; размер стэка
.code
print proc ; процедура печати - начало описания
cmp ax,cx
jle rep1
mov dx,offset me ; заносим смещение сообщения в регистр дх
mov ah,09h ; функция вывода строки
int 21h; прерывание вызываем
jmp p1
rep1:
mov cx,ax ; ставим счетчик цикла в значение ax
rep2:
add bx,2 ; смещаемся на следуещее слово
loop rep2
mov dx,[bx]; выводим элемент под нужным номером
add dx,48 ; переводим число в соответствующий символ
mov ah,2 ; функция вывода символа
int 21h ; вызываем прерываение
p1:
mov ah,02h ; выводим конец строки в конце работы процедуры
mov dl,0Dh
int 21h
mov dl,0Ah
int 21h
ret
print endp
main proc
mov ax,@data
mov ds,ax
xor ax,ax
mov bx,offset mas ; смещение 1го массива
mov cx,13 ; размер 1го массива
mov ax,10
call print ; печетаем
mov bx,offset mas1 ; смещение 2го массива
mov cx,10 ; и размер егоmov ax,5
call print
mov ah,4ch ; возврат в опер. сист.
int 21h
main endp
end main
Блок-схема