Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка1.doc
Скачиваний:
8
Добавлен:
05.12.2018
Размер:
407.55 Кб
Скачать

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

Программа на ассемблере вводится с помощью текстового редактора. После ввода текста программы сохраните ее с расширением .ASM. Для выполнения программы, ее необходимо преобразовать в выполнимую форму. Это требует двух дополнительных шагов, ассемблирование и компановку.

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

Чтобы ассемблировать программу PROG.ASM наберите

TASM PROG

Если не указать другого имени файла, PROG.ASM будет ассемблироваться в PROG.OBJ. (Заметим, что не требуется набирать расширение имени файла; Турбо-Ассемблер добавляет .ASM сам). На экране появится

Turbo Assembler version 1.0 Copyright (C) 1988 by Borland

International, Inc.

Assembling file: prog.asm

Error messages: none

Warning messages: none

Если в программе содержатся ошибки, они появятся на экране вместе с номером строки, в которой найдена эта ошибка. После исправления ошибок отассемблируйте программу снова.

Если в результате ассемблирования не обнаружено ошибок, то следующий шаг – компоновка объектного модуля. Для компоновки программы используйте TLINK, набрав

TLINK PROG

Не нужно вводить расширение имени, TLINK добавит .OBJ сам. Когда компоновка завершится редактор автоматически создаст .EXE файл с тем же именем, что и имя объектного файла, если Вы не укажете другого. На экране появится сообщение:

Turbo Linker version 2.0 Copyright (C) 1987, 1988 by Borland

International Inc.

Для отладки программы можно использовать программу TD – турбо-debuger, которая обеспечивает пошаговую трассировку и просмотр значений регистров, стека и оперативной памяти.

5. Команды пересылки данных

Команды пересылки данных осуществляют обмен данными и адресами между ячейками памяти и регистрами или портами ввода-вывода. Эти команды разделены на четыре группы: команды общего назначения, команды ввода-вывода, команды пересылки адресов и команды пересылки флагов.

5.1 Команды общего назначения

Основная команда общего назначения MOV (MOVe – переслать) может переслать байт или слово между регистром и ячейкой памяти или между двумя регистрами. Она может также переслать непосредственно адресуемое значение в регистр или ячейку памяти.

Команда MOV имеет следующий формат:

MOV приемник,источник.

Примеры с использованием команды MOV рассматривались в главе 2.2.

Отметим лишь исключающие сочетания операндов в команде MOV:

1. Нельзя осуществлять пересылку данных из одной ячейки памяти в другую. Чтобы выполнить такую пересылку, данные источника надо загрузить в регистр общего назначения, а затем содержимое регистра в приемник. Например,

MOV AX,TAB1 ; пересылает данные из ячейки TAB1

MOV TAB2,AX ; в ячейку TAB2

2. Нельзя загрузить непосредственно адресуемый операнд в регистр сегмента. Например, инициализировать сегмент данных (DATAS):

MOV AX,DATAS

MOV DS,AX.

3. Нельзя непосредственно переслать значение одного регистра сегмента в другой. Пересылку нужно делать через регистр общего назначения.

  1. Нельзя использовать регистр CS в качестве приемника.