TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

Ближние и дальние типы вызовов 

             В центральном  процессоре 8086 поддерживается два типа вызо-
        вов и  инструкций  возврата управления - ближние (NEAR) и дальние
        (FAR). Ближние вызовы передают управление другой ячейке в  преде-
        лах того же программного сегмента, а дальние вызовы позволяют пе-
        рейти в другой программный сегмент.

             Инструкция ближнего  обращения CALL помещает в стек 16-бито-
        вый адрес возврата (только смещение), а инструкция дальнего вызо-
        ва  помещает  в  стек 32-битовый адрес возврата (адрес сегмента и
        смещение). Соответствующая  инструкция  RET  извлекает  из  стека
        только смещение или адрес сегмента и смещение.

             На основе описания процедуры в Borland Pascal будет  автома-
        тически выбираться правильный тип обращения. Процедуры, описанные
        в интерфейсной секции модуля соответствуют дальнему  обращению  и
        могут вызываться из других блоков.  Процедуры,  описанные в прог-
        рамме в секции реализации модуля (implementation), являются ближ-
        ними  и могут вызываться только из этой программы или данного мо-
        дуля.

             Для некоторых конкретных целей можно потребовать, чтобы про-
        цедура  имела  дальний  тип вызова.  Например,  процедура выхода,
        драйверы устройств для текстовых файлов и  другие  средства,  ис-
        пользующие  указатели  на процедуры.  Директива компилятора {$F+}
        указывает на необходимость использования дальнего  типа  вызовов.
        Процедуры или  функции,  скомпилированные  с  данной  директивой,
        всегда будут  иметь  дальний  тип  вызова.  При  использовании  в
        Borland  Pascal директивы {$F-} правильная схема вызова будет вы-
        бираться автоматически. По умолчанию назначается режим {$F-}.

Содержание

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz