Выбор пакета ассемблера
Какой из пакетов ассемблера выбрать для практической работы? Если этот выбор
делать с точки зрения долгосрочной перспективы, то, безусловно, MASM. Причи-
Глава 6. Первая программа
на для этого — продолжающаяся поддержка и развитие этого пакета фирмой
Microsoft. Для учебных целей более привлекателен TASM. В данном учебнике
выбран промежуточный вариант — транслятор TASM в режиме MASM. Этот ре-
жим поддерживает почти все возможности транслятора MASM и создан специ-
ально для разработки переносимых (на уровне исходных текстов) программ. Та-
кой подход имеет преимущества в
что читатель, во-первых, получает навыки
использования двух пакетов и, во-вторых, по мере познания особенностей пакетов
становится свободным в своем выборе.
Процесс разработки программ с помощью пакетов TASM и
предполага-
ет, что пользователь интенсивно работает с командной строкой. При этом он дол-
жен помнить не только последовательность запуска различных программ, форми-
рующих исполняемый модуль, но и задаваемые при этом параметры программ. Если
проект состоит из большого количества файлов, необходимость помнить всю эту
информацию довольно утомительна. Для решения этой проблемы можно посове-
товать использовать специальную программу — менеджер проекта. В пакете TASM
такой программой является утилита make.exe, а в пакете MASM — утилита
Эти утилиты работают со специально оформленными файлами, назы-
ваемыми файлами описания, или make-файлами. В make-файлах задаются отно-
шения между файлами проекта и действия над этими файлами, которые выполня-
ются в зависимости от возникновения тех или иных условий. Главный принцип,
положенный в основу работы утилиты make.exe, заключается в анализе времени
изменения или создания файлов. Подробное описание утилиты можно найти сре-
ди файлов к
Итоги
в Структура программы на ассемблере отражает особенности архитектуры про-
цессора. Для процессоров Intel типичная программа состоит из трех сегментов:
кода, стека и данных. Но это не обязательное условие; например, если програм-
ма не использует стек и для ее работы не требуется определения данных, то она
может состоять всего лишь из одного сегмента кода.
is Программа на ассемблере работает на уровне аппаратных средств, входящих
в программную модель процессора, которая описана в главе 2.
При разработке алгоритма работы программы и его реализации на ассемблере
программист сам должен беспокоиться о размещении данных в памяти, об эф-
фективном использовании ограниченного количества регистров, об организа-
ции связи с операционной системой и другими программами.
• Специфика разработки программы на ассемблере состоит в том, что програм-
мист должен уделять внимание не только и не столько особенностям модели-
рования предметной
сколько тому, как при этом наиболее эффектив-
но и корректно использовать ресурсы процессора.
Все прилагаемые к книге файлы можно найти по адресу http://www.piter.com/download. —
Примеч. ред.
Итоги
В результате работы транслятора создаются файл объектного модуля и файл
листинга программы, содержащий разнообразную информацию о программе:
объектный код, сообщения о синтаксических ошибках, таблицу символов и т. д.
Имея небольшой опыт, из файла листинга можно извлечь массу полезной ин-
формации.
После получения корректного объектного модуля программу необходимо ском-
поновать. Для этого применяется утилита-компоновщик, одним из основных
назначений которой является разрешение внешних ссылок. Если целевая про-
грамма состоит из нескольких отдельно оттранслированных модулей и в них
есть взаимные ссылки на переменные или модули, то компоновщик разрешает
их, формируя тем самым правильные перемещаемые адреса.
Результатом работы компоновщика является исполняемый (загрузочный) мо-
дуль, имеющий расширение .ехе. Его уже можно запускать в надежде, что он
правильно выполнит задуманные программистом действия. Но чаще всего при
первых запусках программы этого не случается, что говорит о наличии в про-
грамме логических ошибок, поиск которых без специальных средств может быть
долгим. Для поиска и устранения логических ошибок предназначен специаль-
ный вид программного обеспечения — отладчики. С их помощью в большин-
стве случаев довольно быстро удается снять большинство программных про-
блем подобного рода.
Do'stlaringiz bilan baham: |