- •8.Файл config.Sys
- •9. Файлы autoexec. Bat
- •10. Начальная загрузка dos
- •11. Структурное программирование
- •12. Концепция модульного программирования.
- •13. Процедуры в языке assembler
- •14. Директивы extern и public
- •15. Передача данных процедуру через common области.
- •16.Использование директив extern и public для передачи данных в процедуру.
- •17. Передача аргументов через стек
- •18. Возврат результата из процедуры.
- •19. Связь ассемблера с языками высокого уровня
- •20. Понятия процесса и его состояния
- •21. Асинхронные параллельные процессы и способы их синхронизации
11. Структурное программирование
Использ.
для улучшения читабельности, блок-схемы.
Структурирование программ базируется
на системном подходе к анализу,
проектированию, реализации программного
обеспечения. Структурное
программирование является
дальнейшим развитием модульного
программирования. Основой
технологии метода структурного
программирования являются:
1)Сложная задача разбивается на ряд
простых задач. Каждая из них имеет один
вход и один выход. 2)Задача
должна состоять из минимально,
функционально-полного набора управляющих
структур.3)Разработка программы должна
вестись поэтапно. Структурное
программирование делает текст программы
более понятным – алгоритм решения ясно
виден из исходного текста. Язык ассемблер
не содержит указанные структуры в
законченном виде. Но их реализацию можно
осуществить с помощью макрокоманд и
процедур.Управляющие структуры:
12. Концепция модульного программирования.
1. Пошаговая функциональная декомпозиция задачи.2. Модули своего рода «черные ящики» с одним входом и одним выходом. Могут быть написаны на разных языках программирования.3. Назначение всех переменных модуля должно быть описано с помощью комментариев.4.Исходный текст модуля должен содержать заголовок и собственно сам модуль.Заголовок содержит: 1)Назначение2)Особенности функционирования (далекая и близкая процедуры) 3)Описание входных аргументов4)Использование внешних модулей и переменных5) Сведения о разработчике для защиты авторских прав. 5.В программном модуле необходимо предусмотреть специальные блоки, которые предусматривают возможное появление ошибок.
спользование модулей имеет следующие преимущества:1)возможность создания программы несколькими программистами;2)простота проектирования и последующих модификаций программы;3)упрощение отладки программы - поиска и устранения в ней ошибок;4)возможность использования готовых библиотек наиболее употребительных модулей.
13. Процедуры в языке assembler
Как в любом другом языке программирования в Ассемблере присутствует возможность декомпозиции программного исполняемого кода на отдельные модули – процедуры (подпрограммы, функции).Описание процедур осуществляется в сегменте (или сегментах) кода.Имя_процедуры PROC [[модификатор языка] язык] [расстояние] //[ARG список_передаваемых_параметров] //[RETURNS список_возвращаемых_значений] //[LOCAL список_локальных_объявлений] //[USES список_используемых_регистров] // … //Команды и директивы языка Ассемблер … // RET //[Имя_процедуры] ENDP // Единственным обязательным значением, которое необходимо указывать при описании процедуры является ее имя. Так как программа может занимать более одного сегмента данных, то процедуры вызывающие друг друга могут находится в различных сегментах: Если вызываемая процедура находится в текущем сегменте, то используется ближний вызов команды CALL. Если же вызываемая процедура находится в другом сегменте, то используется дальний вызов команды CALL.Управление характером возможного вызова процедуры осуществляется с помощью необязательного параметра в описании [расстояние]. Этот параметр может принимать одно из двух значении:near – ближний вызов (используется по умолчанию),far – дальний вызов. Описание процедур на языке Ассемблер может располагаться в любом месте программы. Возможны три варианта описания процедуры:в начале сегмента кода, в конце сегмента кода,в середине сегмента кода.
