2. Трансляция и компоновка программы
2.1. Трансляция (ассемблирование) с использованием tasm
Для того чтобы выполнить пробный прогон ассемблерной программы, ее необходимо сначала оттранслировать и скомпоновать. Пусть текст исходной программы хранится в файле с именем SIMPLE.ASM. Трансляцию можно осуществить вызовом турбо ассемблера TASM.EXE с помощью, например, следующей команды DOS:
tasm /l/z/zi/n simple.asm
Ключ /lуправляет формированием листинга трансляции (по умолчанию в файлеsimple.lst), который служит документом трансляции.
Ключ /z разрешает вывод на экран строк исходного текста программы, в которых ассемблер обнаружил ошибки (без этого ключа поиск ошибок пришлось бы проводить по листингу трансляции).
Ключ /zi управляет включением в объектный файл информации, не требуемой при выполнении программы, но используемой отладчиком.
Ключ /n подавляет вывод в листинг перечня символических обозначений в программе, от чего несколько уменьшается информативность листинга, но сокращается его размер.
Важную роль при отладке программы на стадии трансляции играют ключи, которые управляют как процессом ассемблирования, так и полнотой листинга – файла с расширением LST, существенно облегчающего отладку программы.
Задание 1.
Выполните команду tasm /? > tasm.txt. Изучите назначение ключей, описанных в полученном файле tasm.txt.
Создайте файл simple.asm с текстом приведенной выше программы (Программа 1).
Проведите трансляцию программы simple.asm с использованием tasm.exe.
Если tasm сообщает об ошибках, исправьте их и проведите трансляцию программы simple.asm повторно.
В результате должен быть получен фал simple.obj.
2.2. Компоновка программы с использованием tlink
Строка вызова компоновщика может иметь следующий вид:
tlink simple.obj
Как и при трансляции, при компоновке программы важную роль играют используемые ключи.
Задание 2.
Выполните команду tlink /? > tlink.txt. Изучите назначение ключей, описанных в полученном файле tlink.txt.
Проведите компоновку программы с использованием tlink.exe:
tlink simple.obj.
В результате должен быть получен файл simple.exe.
Запустите simple.exe на исполнение и убедитесь в работоспособности программы.
Модель smallи ее использование
Ниже приведен слайд из курса дистанционных лекций, на котором перечислены типы моделей программ на Ассемблере. Тип модели выбирается программистом исходя из требований, которые предъявляются к результирующему коду. Часто, когда надо написать небольшую программу выбирается модель small, во многом из соображений минимизации труда программиста при наборе текста программы. На слайде приведен текст программы, написанной с использованием моделиsmall, которая выводит на дисплей фразу «HelloWorld!».
Понятно, что эта программа немногим отличается от Программы 1. Обратите внимание на то, что поскольку имена сегментов в модели smallне присваиваются программистом, загрузка адреса начала текущего сегмента данных в осуществляется с использованием вспомогательного символа «@».
Задание 3.
Переписать текст программы 1 с использованием упрощенных директив определения сегментов (модель SMALL) в файл SMALLSIM.ASM. Осуществить трансляцию и компоновку программы SMALLSIM.ASM. При наличии ошибок – исправить их и заново оттранслировать и скомпоновать программу.
Запустить SMALLSIM.EXE и проверить работоспособность программы.