Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы ВССТ 2012.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
700 Кб
Скачать
☆

Часть 2. Создание исполняемого файла .Exe Порядок выполнения работы

1. Ввести готовую программу и создать програмный файл с расширением ASM (на дисководе C:).

Используя текстовый редактор NC (или любой другой редактор) построчно ввести текст приведенной ниже программы prog3.asm.

TITLE prog3.asm ;расчет факториала

stacksg segment stack

dw 32 dup(32)

stacksg ends

datasg segment

vv db 'Введите аргумент M (не больше 7)$'

viv db 13,10,'Значение факториала $'

ii dw ?

ir dw 1

sr db 5 dup(0)

db 13,10,'$'

ft10 db 1

buf db 2,0,0,0,0

datasg ends

codesg segment

assume cs:codesg,ds:datasg,ss:stacksg

start proc far

push ds

sub ax,ax

push ax

mov ax,datasg

mov ds,ax

mov ah,9

mov dx,offset vv

int 21h

mov ah,0ah

mov dx,offset buf

int 21h

call str2bin

rach: mov ax,ii

mul ir

mov ir,ax

dec ii

cmp ii,2

jge rach

mov ah,9

mov dx,offset viv

int 21h

call bin2str

mov ah,9

mov dx,si

int 21h

ret

bin2str proc

mov cx,10

mov si,offset sr+4

mov ax,ir

m1: sub dx,dx

div cx

or dl,30h

mov [si],dl

dec si

cmp ax,0

jne m1

ret

bin2str endp

str2bin proc near

mov cx,10

lea si,buf+1

xor bh,bh

mov bl,[buf+1]

m3: mov al,[si+bx]

and ax,0fh

mul ft10

add ii,ax

mov al,ft10

mul cl

mov ft10,al

dec bx

jnz m3

ret

str2bin endp

start endp

codesg ends

end start

Проверить и отредактировать программу, сформировать програмный файл для ассемблирования.

2. Выполнить ассемблирование программы. Вызвать на исполнение программу ассемблера:C> MASM. На экране появится полное название программы ассемблера , ее версии и запрос на получение информации о файлах, участвующих в ассемблировании (в [..] предлагаются вводимые по умолчанию ответы):

Source filename[.asm]:

введите:C:prog3 (после ответа всегда нажимать ENTER).

Object filename[C:prog3.obj]: нажмите C: и ENTER, если имя объектного файла то же.

Source listing [Nul.lst]:

введите C:prog3, (если имя файла тоже, указать C:), т.к. файл листинга программы будет нужен, иначе - ENTER.

Cross reference[Nul.lst]:

нажмите ENTER, т.к. файл листинга перекрестных ссылок не нужен (он создается только для сложных программ), но если листинг нужен, указать C: и ENTER.

Если вы аккуратно выполнили предыдущие задания, то ассемблер завершит свою работу сообщением

Warning errors 0

Sever errors 0

Это означает: предупреждений об ошибках и ошибок нет, возврат управления MS DOS. Если ассемблер выдаст сообщение об ошибках (для каждой ошибки указывается ее адрес-номер строки программы и характер ошибки), то исправьте исходную программу и заново ее оттранслируйте.

3. Просмотр листинга программы.

Выведите файл листинга программы на дисплей:

C> copy С:prog3.lst, con или type С:prog3.lst

Перепишите листинг программы себе в отчет, расшифруйте его структуру и содержание сообщений листинга программы.

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

4. Создание исполняемой машинной .EXE программы.

Вызвать на исполнение программу-загрузчик LINK: С> link.

На экране появится полное название программы LINK, ее версия и запрос на получение информации о файлах, участвующих в создании исполняемого машинного файла и редактировании его связей:

Object moduls[.obj]:

введите С:prog3, т.к. у нас есть один объектный модуль.

Run File [E:prog3.exe]:

нажмите ENTER или С:, если имя исполняемого файла то же.

List File [Nul.map]:

нажмите ENTER, т.к. листинг распределения памяти не нужен; если нужен - то С:

Libraries [lib]:

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

Если все указанные выше действия выполнены аккуратно, то будет создана исполняемая машинная программа prog3.exe.

5. Выполнить программу prog3.exe.

Для запуска исполняемой .ЕХЕ программы достаточно просто набрать ее имя: С:\> C:\prog3 и нажать клавишу ENTER.

Теперь следует выполнить в режиме трассировки все команды программы, записать информацию выводимую на экран дисплея, а после окончания работы программы записать полученные результаты. Показать результаты выполнения программы (на экране дисплея) преподавателю.

6. Скопировать программы prog3.asm и prog3.exe на гибкий диск.

7. Получить задание на следующую работу. Выключить ПК.