Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Assembler 01.doc
Скачиваний:
19
Добавлен:
09.11.2019
Размер:
727.04 Кб
Скачать

Ассемблирование и выполнение программы

МЕТОДИЧЕСКИЕ УКАЗАНИЯ:

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

2. Ассемблер преобразует исходную программу в OBJ-файл, а компоновщик - OBJ-файл в загрузочный ЕХЕ-файл.

3. После ввода на диск исходной программы под именем EXASM1.ASM необходимо проделать два основных шага, прежде чем программу можно будет выполнить. Сначала необходимо ассемблировать программу, а затем выполнить компоновку.

4. Шаг ассемблирования включает в себя трансляцию исходного кода в машинный объектный код и генерацию OBJ-модуля. Возможно, потребуется указание LST-файла, если необходимо проверить сгенерированный машинный код. Также можно получить CRF-файл, который полезен для очень больших программ, где необходимо видеть, какие команды ссылаются на какие поля данных. Кроме того, ассемблер ге-

нерирует в LST-файле номера строк, которые используются в CRF-файле.

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

6.Формат OBJ-модуля уже более приближен к исполнительной форме, но еще не готов к выполнению. Шаг компоновки включает преобразование OBJ-модуля в ЕХЕ (исполнимый) модуль, содержащий машинный код. Программа tlink.exe осуществляет следующее:

- завершает формирование в OBJ-модуле адресов, которые остались неопределенными после ассемблирования. Во многих программах такие адреса ассемблер отмечает как ----R.

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

- инициализирует ЕХЕ-модуль командами загрузки для выполнения.

7. После компоновки OBJ-модуля (одного или более) в ЕХЕ-модуль можно выполнить ЕХЕ-модуль любое число раз. Но, если необходимо внести некоторые изменения в ЕХЕ-модуль, следует скорректировать исходную программу, ассемблировать ее в другой модуль. Даже если эти шаги остаются непонятными, вы обнаружите, что, приобретая некоторые навыки, весь процесс подготовки ЕХЕ-модуля можно будет довести до автоматизма.

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ:

1. Ввод программы

1.1. Установить диск, указанный преподавателем, на панели NORTON.

1.2. Нажать клавиши Shift F4. Появится запрос на ввод имени файла.

1.3. Ввести имя файла exasm1.asm. При этом откроется режим текстового редактора.

1.4. Записать с помощью текстового редактора следующую программу на языке ассемблер:

.286

TITLE EXASM1 (EXE) Пример регистровых операций

;---------------------------------------------------

STACKSG SEGMENT PARA STACK 'Stack'

DB 12 DUP('STACKSEG')

STACKSG ENDS

;----------------------------------------------------

CODESG SEGMENT PARA 'Code'

BEGIN PROC FAR

ASSUME SS:STACKSG,CS:CODESG,DS:NOTHING

PUSH DS ;Записать DS в стек

SUB AX,AX ;Записать ноль

PUSH AX ;в стек

MOV AX,0123H ;Записать 0123 в АХ

ADD AX,0025H ;Прибавить 25 к АХ

MOV BX,AX ;Переслать АХ в ВХ

ADD BX,AX ;Прибавить ВХ к АХ

MOV CX,BX ;Переслать ВХ в СХ

SUB CX,AX ;Вычесть АХ из СХ

SUB AX,AX ;Очистить АХ

NOP

RET ;Возврат в DOS

BEGIN ENDP ;Конец процедуры

CODESG ENDS ;Конец сегмента

END BEGIN ;Конец программы

1.5. Сохранить записанную программу нажав клавишу F2.

1.6. Выйти из текстового редактора нажав клавишу F10.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]