Текст программы может содержать, если необходимо, пояснения, написанные в соответствии с правилами языка ASSEMBLER, т.е. пояснению предшествует символ ";". Далее написанную программу необходимо откомпилировать, что и делаем с помощью программы Tasm. Формат вызова следующий:
Tasm.exe prog1.asm
Если всё сделано верно и программа не содержит ошибок, то после окончания работы программы tasm получим объектный файл prog1.obj . Если текст программы содержал ошибки, то после завершения работы программы они будут указаны в окне с указанием строк, содержащих ошибки. После устранения ошибок действия по получению объектного файла Prog1.obj необходимо повторить. Далее для получения исполняемого файла Prog1.exe необходимо воспользоваться программой Link.exe, преобразующей нашу программу в двоичные коды, понятные микропроцессору. Формат вызова следующий:
Link.exe prog1.obj
После окончания работы программы Link получим исполняемый файл prog1.exe. Для отладки нашей программы запустим её в Turbo Debugger. Для этого в командной строке набираем:
Td.exe prog1.exe
В результате получаем на экране следующее изображение:
Ё File Edit View Run Breakpoints Data Options Window Help READY
По мере исполнения программы по шагам (клавиша F7), содержимое верхнего окна, содержащего коды нашей программы, будет изменяться. После приглашения программы ввести элементы массивов, следует ввести эти элементы в таком порядке:
Input 6 member of mas1
123456 ; и нажать клавишу <Enter>
Input 6 member of mas2
123356; и нажать клавишу <Enter>
После ввода каждого элемента массива содержимое DS:0000 будет изменяться. Для просмотра этих изменений достаточно нажать комбинацию клавиш CTRL+G, и в появившемся окне указать в GOTO необходимый адрес: DS:0000.
Выполняя программу далее по шагам, можно пронаблюдать изменение флагов, содержимого регистров и т.д. В конце выполнения программы на экране получим результат:
Выход из программы td осуществляется комбинацией клавиш Alt+X.
ПРИЛОЖЕНИЕ 3
КЛЮЧИ КОМАНДНОЙ СТРОКИ TASM И TLINK
П.3.1. Ключи командной строки TASMa.
Общий вид командной строки выглядит следующим образом:
Точка с запятой после левой квадратной скобки позволяет вам в одной командной строке ассемблировать несколько групп файлов.
По желанию вы можете задать для каждой группы файлов различные параметры, например:
TASM /e FILE1; /a FILE2
Здесь файл FILE1.ASM ассемблируется с параметром командной строки /e, а файл FILE2.ASM - с параметром командной строки /a.
Именем файла может быть отдельное имя файла, либо вы можете использовать обычные трафаретные символы DOS * и ? для задания группы ассемблируемых файлов. Если расширение имени файла не указано, Турбо Ассемблер использует расширение .ASM.
Ниже указаны наиболее часто используемые ключи (параметры) (табл.П.3.1).
Таблица П.3.1. Ключи TASMа.
/e,/r
Эмулируемые или действительные инструкции с плавающей точкой
§ Параметр /E указывает Турбо Ассемблеру, что нужно генерировать инструкции работы с плавающей точкой, которые будут выполняться с помощью программного обеспечения (эмулятора операций с плавающей точкой).
§ Параметр /R изменяет действие данного параметра на обратное, разрешая ассемблирование действительных инструкций с плавающей точкой, которые могут выполняться арифметическим сопроцессором.
/l,/la
Генерация листинга: l=обычный листинг, la=расширенный
§ Файл листинга не будет создан, пока вы в явном виде не запросите его создание. Чтобы запросить листинг, поместите после имени объектного файла запятую и за ней имя файла листинга. Если не задать имя файла листинга явно, Турбо Ассемблер создаст этот файл с тем же именем, что и у исходного файла, и расширением .LST. Если же вы задали имя файла листинга, но без расширения, к имени будет прибавлено расширение .LST.
§ Параметр /L указывает, что вы хотите создать файл листинга, даже если вы его не задаете в командной строке явно. Файл листинга имеет то же имя, что и исходный файл, и расширение .LST.
§ Параметр /LA указывает Турбо Ассемблеру, что в файле листинга нужно отразить весь генерируемый код, включая код, который генерируется в результате директивы языка высокого уровня .MODEL.
/zi,/zd,/zn
Информация об идентификаторах для отладки: zi=полная, zd=только о номерах строк, zn=отсутствует.
§ Параметр /ZD приводит к тому, что Турбо Ассемблер будет помещать в объектные файлы информацию о номерах строк. Это позволяет автономному отладчику фирмы Borland (Турбо отладчику) выводить на экран текущее место в исходном коде, но не позволяет ему осуществлять доступ к элементам данных.
§ Параметр /ZI указывает Турбо Ассемблеру, что в объектный файл нужно вывести полную информацию для отладки. Эта информация включает в себя записи о номерах строк (для синхронизации вывода на экран исходного текста) и информацию о типах данных, позволяющую модифицировать и проверить данные программы. Параметр /ZI позволяет вам использовать все средства Турбо отладчика для прохождения программы и проверки и изменения элементов данных.
§ Параметр /zn указывает Турбо Ассемблеру, что информацию для отладки в объектный файл выводить не нужно.