Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Assembler (Уч_пос_Лаб_Ч1).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.43 Mб
Скачать

6.2.2. Путь выполнения команды

Если в ответ на приглашение DOS ввести команду или имя исполняемого файла (без расширения) и нажать клавишу Enter, то путь поиска системой (командным процессором Command) необходимого объекта будет следующим.

  1. Проверяется, не ввёл ли пользователь имя внутренней команды DOS. Если введена внутренняя команда, она будет выполнена.

  2. Проверяется текущая директория на предмет выявления программного файла с именем и расширением .com или .exe. и только затем ищется командный файл с расширением .bat. Найденный файл исполняется.

  3. Если ничего из перечисленного в пп. 1 и 2 не найдено, то система начнёт поиск по путям, записанным в файле Autoexec.bat (Windows 9x) или в Autoexec.nt (Windows 2000). Оператор пути может быть примерно таким (допустим, что в компьютере используются ещё программы-оболочки FAR и Dos Navigator):

Path=с:\;с:\windows\command;c\program files\far;f:\tasm5\bin;f:\dn для Windows 9x

Path= f:\tasm5\bin;f:\dn для Windows 20003

  1. Если система не находит ни команду, ни имя исполняемого файла, то выводится соответствующее сообщение.

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

6.2.3. Трансляция программы. Опции командной строки

Рассмотрим процесс трансляции программы на примере простой интерактивной программы Hello.asm (см. приложение П.1.2 к работе № 1). Для ассемблирования файла Hello.asm в командной строке наберите: tasm hello.asm и нажмите клавишу Enter. Поскольку Вы не задали другое имя для объектного файла, то будет создан объектный файл с этим же именем hello.obj. Заметим, что расширение имени файла .asm вводить не требуется, т.к. tasm принимает это по умолчанию. На экране вы увидите следующее:

Turbo Assembler Version 4.1 Copyright (C) 1988,1996 Borland International

Assembling file: Hello.asm

Error messages: None

Warning messages: None

Passes 1

Remaining memory: ***K

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

Для компоновки программы введите в командную строку: tlink hello.obj.

Здесь, также как и при ассемблировании, расширение имени obj не является обязательным. По завершению компоновки будет сформирован файл hello.exe с выводом на экран сообщения.

Turbo Linker Version 7.1. 30.1 Copyright (C) 1987,1996 Borland International

Теперь программу hello.exe можно запустить на исполнение, результатом которого будет вывод на экран сообщения:

Это время после полудня? (Да/Нет-Y/N)

Курсор будет мерцать после последнего символа в ожидании ввода ответа. Введите букву y. Программа ответит:

Здравствуйте!

Если будет введена строчная буква n, то программа ответит:

Доброе утро!

В процессе ассемблирования или компоновки вы можете выбирать различные исполнения процесса, которые задаются опциями в командной строке Tasm или Tlink. Для вывода списка опций командной строки Turbo Assembler наберите tasm и нажмите <Enter>; то же самое проделайте с командой tlink.

Опции описываются одной или несколькими буквами. Для задания опции наберите косую черту (или дефис) и соответствующую букву между командой tasm или tlink и именем программы, которую вы ассемблируете либо компонуете. Например, для ассемблирования программы Hello.asm и получения файла с листингом (файл, в котором содержится описание процесса ассемблирования), используйте команду: tasm/l hello. Опции разрешается набирать как прописными, так и строчными буквами. Исполните эту команду и затем рассмотрите файл с листингом Hello.lst, используя текстовый редактор. В листинге каждая строка начинается с номера, затем следуют байты объектного кода и, наконец, собственно текст программы. Кроме того, TASM выводит в файле листинга таблицу идентификаторов, где содержится информация о метках и сегментах, включая значение и тип каждой метки и атрибуты каждого сегмента. При ассемблировании программы вы можете использовать в одной командной строке несколько опций, разделяя их косыми чертами. Рассмотрим некоторые примеры для команды tasm:

tasm/l/c hello – команда дополняет файл листинга таблицей перекрёстных ссылок, в которой указывается, где была определена каждая метка и где на неё есть ссылка;

tasm/l/n hello – исключает таблицу идентификаторов из листинга;

tasm/ml – включает различие прописных и строчных символов в пользовательских идентификаторах;

tasm/zi hello – команда добавляет в Hello.obj информацию, необходимую для использования отладчика Turbo Debugger.

Для команды tlink:

tlink/v hello – опция /v включает в Hello.exe информацию, необходимую для последующего открытия этого файла в отладчике Turbo Debugger;

tlink/m hello – опция /m приводит к созданию файла отображения или файла загрузки Hello.map. В нём перечисляются имена, адреса загрузки и размеры всех сегментов, входящих в программу;

tlink/x/v hello – команда даёт возможность загрузить Hello.exe в отладчик Turbo Debugger, запрещает создание (опция /x) файла отображения.

Tlink/3 <file_name.obj> – компоновщик создаёт файл типа .exe с поддержкой 32-битного кода.

Tlink/t <file_name.obj> – опция /t создаёт файл типа .com.

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