в Структура программы на ассемблере отражает особенности архитектуры про- цессора. Для процессоров Intel типичная программа состоит из трех сегментов: кода, стека и данных. Но это не обязательное условие; например, если програм- ма не использует стек и для ее работы не требуется определения данных, то она может состоять всего лишь из одного сегмента кода. is Программа на ассемблере работает на уровне аппаратных средств, входящих в программную модель процессора, которая описана в главе 2. ™ При разработке алгоритма работы программы и его реализации на ассемблере программист сам должен беспокоиться о размещении данных в памяти, об эф- фективном использовании ограниченного количества регистров, об организа- ции связи с операционной системой и другими программами. • Специфика разработки программы на ассемблере состоит в том, что програм- мист должен уделять внимание не только и не столько особенностям модели- рования предметной области, сколько тому, как при этом наиболее эффектив- но и корректно использовать ресурсы процессора. ' f Все прилагаемые к книге файлы можно найти по адресу http://www.piter.com/download. — Примеч. ред. Итоги 145 И В результате работы транслятора создаются файл объектного модуля и файл листинга программы, содержащий разнообразную информацию о программе: объектный код, сообщения о синтаксических ошибках, таблицу символов и т. д. Имея небольшой опыт, из файла листинга можно извлечь массу полезной ин- формации. ® После получения корректного объектного модуля программу необходимо ском- поновать. Для этого применяется утилита-компоновщик, одним из основных назначений которой является разрешение внешних ссылок. Если целевая про- грамма состоит из нескольких отдельно оттранслированных модулей и в них есть взаимные ссылки на переменные или модули, то компоновщик разрешает их, формируя тем самым правильные перемещаемые адреса. Ш Результатом работы компоновщика является исполняемый (загрузочный) мо- дуль, имеющий расширение .ехе. Его уже можно запускать в надежде, что он правильно выполнит задуманные программистом действия. Но чаще всего при первых запусках программы этого не случается, что говорит о наличии в про- грамме логических ошибок, поиск которых без специальных средств может быть долгим. Для поиска и устранения логических ошибок предназначен специаль- ный вид программного обеспечения — отладчики. С их помощью в большин- стве случаев довольно быстро удается снять большинство программных про- блем подобного рода.