Компиляция и отладка программы




Для удобства работы с компилятором можно создать командный файл, который содержит в себе вызов компилятор и компоновщика с соответствующими опциями. Это можно сделать следующим образом.

Создайте в текстовом редакторе (в 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

 

 

Блок-схема

 

 

       
   
 
 

 

 


 

       
   
 
 

 

 


       
 
 
   

 


 

 

 


Bx=адрес(mas2)
Bx=адрес(mas1)
.

 

ЗАКЛЮЧЕНИЕ

Язык Ассемблера - мощное средство программирования. Он позволяет программисту осуществлять всестороннее управление аппаратными средствами ЭВМ. Однако такое управление заставляет программиста вникать в детали, далекие от основного содержания программы. Все преимущества языка Ассемблера оборачиваются подчас пустой тратой времени на многочисленные детали.

Несмотря на то, что Ассемблер является машинно-ориентированным языком, то есть языком низкого уровня, программист может применять его для работы, как на высоком.

К преимуществам Ассемблера можно отнести:

1. Данный язык программирования позволяет создавать приложения, которые будут более эффективны, чем аналогичные приложения, написанные на языке высокого уровня, т.е. приложения будут более короткими и при этом более быстро выполнимыми.

2. Язык Ассемблера позволяет программисту выполнять действия, которые либо вообще нельзя реализовать на других языках и в частности на языках высокого уровня, либо выполнение которых займет слишком много машинного времени в случае привлечения дорогих средств языка высокого уровня.

К недостаткам языка следует отнести:

1. По мере увеличения своего размера программа на Ассемблере теряет наглядность. Это связано с тем, что в ассемблерных программах следует уделять много внимания деталям. Язык требует планирования каждого шага ЭВМ. Конечно, в случае небольших программ это позволяет сделать их оптимальными с точки зрения эффективности использования аппаратных средств. В случае же больших программ бесконечное число деталей может помешать добиться оптимальности программы в целом, несмотря на то, что отдельные фрагменты программы будут написаны очень хорошо.

2. Для программирования на данном языке необходимо очень хорошо знать структуру компьютера и работу аппаратных устройств, так как Ассемблер работает непосредственно с устройствами.

Можно сделать вывод, что на языке Ассемблера можно сделать любое приложение, любую программу, но для написания больших программ лучше использовать языки высокого уровня.

 

Список использованной литературы:

1. Методическое пособие «Основы системного программирования»

2. Электронный учебник по Ассемблеру

3. Абель П. Язык Ассемблера для IBM PC и программирования- М.: Высш.шк.,1992.

4. Скэнлон Л. Персональные ЭВМ IBM PC и XT. Программирование на языке ассемблера –М.: Радио и связь, 1991.

5. Зубков С.В. Ассемблер. Язык неограниченных возможностей



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-12-28 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: