На главную
Подписка
Новости










Главная / MS-DOS / MS-DOS. РУКОВОДСТВО РАЗРАБОТЧИКА / Глава 2 / Опции проектирования Сделать домашней страницей Добавить в избранное Написать писмо

НАЗАД СОДЕРЖАНИЕ ВПЕРЁД

Опции проектирования

Модульное проектирование и декомпозиция относятся к процессу расчленения больших проблем на более узкие, более управляемые подпроблемы. Первым шагом проектирования является решение, в каком месте должна быть граница между этими подпроблемами


Для получения максимальных преимуществ от использования модульного программирования каждая подпроблема или модуль должны иметь один вход и один выход. В этом случае можно легко отслеживать поток управления в программе. В любом месте модуля должна иметься возможнось увидеть точку входа в модуль и сказать: "Я знаю значения регистров X,Y и Z в этой точке, потому что они указываются как...", и затем проследить функционирование модуля без тревоги об искажении программы. Один вход обеспечивает возврат потока управления в точку вызова при вызове модуля. По этой причине, модульные программы почти всегда выполняются как структуры CALL-RET.


Использование нескольких предложений RET в модуле не должно нарушать правило одного входа, поскольку все инструкции RET возвращают управление в одну и ту же точку. Точно также, переход к общему RET в конце модуля, не изменяет структуру модуля, а добавляет лишь коды в модуль и увеличивает его сложность. С другой стороны, вход или выход из модуля не по этому правилу перечеркивает наибольшие преимущества модульного программирования: ясность, удобство сопровождения.


Имеется исключение из правила входа в модуль. Это происходит при использовании таблицы переходов для реализации потока управления внутри программы. Таблица перехода используется путем "проталкивания" адреса возврата в стек, вычисления индекса требуемого адреса перехода в таблице и выполнения перехода в памяти. Пример этого приема показан в листинге программы драйвера устройства, приведенной в главе 6.


При практическом выполнении декомпозиции модулей можно самим найти некоторое количество альтернативных решений. Прежде чем осуществить правильный выбор, необходимо знать альтернативы. Цель состоит в выборе таких альтернатив, которые создадут наилучшие условия проектирования.


НАЗАД СОДЕРЖАНИЕ ВПЕРЁД

Hosted by uCoz