- •Модульное программирование
- •Технологии программирования
- •Структурное программирование
- •Концепция модульного программирования
- •Процедуры в языке асемблера
- •Организация интерфейса с процедурой
- •Передача аргументов через регистры
- •Передача аргументов через общую область памяти
- •Передача аргументов через стек
- •Использование директив extrn и public
- •Возврат результата из процедуры
- •Связь ассемблера с языками высокого уровня
- •Связь Pascal — асемблер
- •Связь с—асемблер
- •Подведем некоторые итоги:
Практическое занятие № 4 по дисциплине МЗКИТ
Модульное программирование
План
Основы структурного программирования
Средства ассемблера для поддержки структурного программирования
Процедуры и организация связей между процедурами на языке ассемблера
Связь между программами на языках высокого уровня и программами на ассемблере
Ранее мы неоднократно подчеркивали тот факт, что одним из существенных недостатков программ на языке ассемблера, а значит, и самого языка, является их недостаточная наглядность. По прошествии даже небольшого времени программисту бывает порой трудно разобраться в деталях им же написанной программы. А о чужой программе и говорить не приходится. Если в ней нет хотя бы минимальных комментариев, то разобраться с тем, что она делает, довольно трудно. Причины этого тоже понятны — при программировании на языке ассемблера программисту необходимо производить самые элементарные действия. При этом он должен учитывать и контролировать большое количество информации. Из-за того что производимые операции крайне элементарны, реализовать алгоритм задачи можно по крайней мере несколькими способами. А если способ решения не единственен, то и разобраться в программе подчас бывает нелегко.
По мере накопления опыта эти проблемы частично снимаются. Но одного опыта мало. Ситуация усугубляется, если работа идет в коллективе разработчиков. Тут уже нужны специальные средства. TASM предоставляет следующие организационные и программные средства, позволяющие снять остроту этой проблемы:
Документирование программистом своей работы и ее результатов. Делается это в первую очередь путем комментирования строк исходного текста программы. При этом комментарии должны коротко, но точно выражать то, что делает данная программа в целом, выделять ее наиболее важные фрагменты и особенности применения отдельных команд. В конечном итоге, комментирование программы облегчает понимание замысла программы, но все-таки полностью не снимает проблему.
Упрощение кода программы путем замены сложных ее участков более понятным кодом. Для этого, в частности, можно использовать рассмотренный нами механизм макрокоманд.
Использование при разработке программных проектов достижений современных технологий программирования.
К настоящему моменту времени наиболее популярными и жизнеспособными оказались две технологии: структурная и объектно-ориентированная.
Технологии программирования
Последние версии языка ассемблера поддерживают объектно-ориентированное программирование, но реализация его достаточно сложна и требует отдельного рассмотрения. Типичному процессу написания программы на ассемблере более всего удовлетворяют концепции структурного программирования. Можно даже сказать, что для микропроцессора Intel эти концепции поддерживаются на аппаратном уровне с помощью таких элементов архитектуры, как сегментация памяти и реализация команд передачи управления. На программном уровне поддержка заключается, в основном, в наличии соответствующих средств в конкретном компиляторе. Компилятор TASM имеет все необходимые базовые средства для поддержки структурного программирования. Рассмотрем эти программно-аппаратные средства.
