assem / Ответы по пунктам / 017
.docx-
Дать определение атрибутов дистанции для процедур.
Процедуре всегда приписан один из атрибутов дистанции: near или far. Атрибут far всегда указывается явно, а атрибут near может быть опущен, т.к. он устанавливается по умолчанию. С атрибутом near процедура может быть вызвана только из того сегмента, где она описана (сегмента команд), с атрибутом far – из любого сегмента.
Если программа состоит из одних процедур, то одна из них должна быть обязательно с атрибутом far. Когда МП вызывает процедуру, он помещает адрес возврата в стек. Этот адрес будет извлечён при выполнении команды ret. Если процедура имеет атрибут near, то в стек будет помещено только смещение (содержимое указателя команд IP). Если процедура имеет атрибут far, то в стек помещается содержимое регистров IP и CS.