Назначение секционирования

Когда пишется исходный модуль, то его можно разбить на секции. Такое секционное разбиение исходного модуля может быть необходимо по разным причинам. Во-первых, можно выделять в отдельные секции некоторые логически самостоятельные части алгоритма, например подпрограммы, как например, оформление заказа на покупку кухни в Интернет-магазине.
Во-вторых, при выполнении программы отдельные секции можно помещать в не связанные между собой участки памяти. В том случае, если некоторые секции исходного модуля выполняются независимо (нет передач управления от команд одной секции командам другой секции, и никакая команда одной секции не обращается к данным, определенным в другой секции), то эти секции могут выполняться последовательно, располагаясь в одной и той же области памяти. Распределение памяти между секциями производится на стадии редактирования объектного модуля.
В-третьих, благодаря фиктивным секциям можно присваивать символические имена адресам областей памяти, которые не принадлежат программе, и использовать их в операндах команд. Во многих приводившихся ранее примерах адреса данных передавались нашей программе через регистры и, зная структуру этих данных, указанную в техническом задании, приходилось пользоваться не всегда наглядными явными адресами. Аппарат фиктивных секций позволяет и в этом случае использовать наглядные представления адресов.
В-четвертых, имеется возможность осуществить связь (передачу управления, обращения к данным) между программными секциями, принадлежащими разным (независимо транслируемым) исходным модулям.

 
Adblock detector