Для удобства работы с компилятором можно создать командный файл, который содержит в себе вызов компилятор и компоновщика с соответствующими опциями. Это можно сделать следующим образом.
Создайте в текстовом редакторе (в 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
Блок-схема
|
|
ЗАКЛЮЧЕНИЕ
Язык Ассемблера - мощное средство программирования. Он позволяет программисту осуществлять всестороннее управление аппаратными средствами ЭВМ. Однако такое управление заставляет программиста вникать в детали, далекие от основного содержания программы. Все преимущества языка Ассемблера оборачиваются подчас пустой тратой времени на многочисленные детали.
Несмотря на то, что Ассемблер является машинно-ориентированным языком, то есть языком низкого уровня, программист может применять его для работы, как на высоком.
К преимуществам Ассемблера можно отнести:
1. Данный язык программирования позволяет создавать приложения, которые будут более эффективны, чем аналогичные приложения, написанные на языке высокого уровня, т.е. приложения будут более короткими и при этом более быстро выполнимыми.
2. Язык Ассемблера позволяет программисту выполнять действия, которые либо вообще нельзя реализовать на других языках и в частности на языках высокого уровня, либо выполнение которых займет слишком много машинного времени в случае привлечения дорогих средств языка высокого уровня.
К недостаткам языка следует отнести:
1. По мере увеличения своего размера программа на Ассемблере теряет наглядность. Это связано с тем, что в ассемблерных программах следует уделять много внимания деталям. Язык требует планирования каждого шага ЭВМ. Конечно, в случае небольших программ это позволяет сделать их оптимальными с точки зрения эффективности использования аппаратных средств. В случае же больших программ бесконечное число деталей может помешать добиться оптимальности программы в целом, несмотря на то, что отдельные фрагменты программы будут написаны очень хорошо.
2. Для программирования на данном языке необходимо очень хорошо знать структуру компьютера и работу аппаратных устройств, так как Ассемблер работает непосредственно с устройствами.
Можно сделать вывод, что на языке Ассемблера можно сделать любое приложение, любую программу, но для написания больших программ лучше использовать языки высокого уровня.
Список использованной литературы:
1. Методическое пособие «Основы системного программирования»
2. Электронный учебник по Ассемблеру
3. Абель П. Язык Ассемблера для IBM PC и программирования- М.: Высш.шк.,1992.
4. Скэнлон Л. Персональные ЭВМ IBM PC и XT. Программирование на языке ассемблера –М.: Радио и связь, 1991.
5. Зубков С.В. Ассемблер. Язык неограниченных возможностей