TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

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

Странности

FAQ

Ссылки

Форум

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

Рассылка

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

Об авторе

 

 

Абсолютные переменные 

             Переменные можно описать так, что они будут располагаться по
        определенному адресу в памяти, и в этом случае они называются аб-
        солютными переменными. Описание таких переменных должно содержать
        после типа оператор absolute:

         описание       ┌────────┐    ┌─────────┐  ┌───┐  ┌─────────┐
         абсолютной ───>│absolute├─┬─>│целое без├─>│ : ├─>│целое без├─┬─>
         переменной     └────────┘ │  │ знака   │  └───┘  │ знака   │ │
                                   │  └─────────┘         └─────────┘ │
                                   │       ┌─────────────┐            │
                                   └──────>│идентификатор├────────────┘
                                           │  переменной │
                                           └─────────────┘

             Отметим, что список идентификаторов  в  описании  переменной
        при указании оператора absolute может содержать только один иден-
        тификатор.

             Первая часть оператора absolute содержит сегмент и смещение,
        то есть адрес, по которому переменная должна быть размещена.

             CrtMode   : byte absolute $0040:$0049;

             Первая константа обозначает базу сегмента,  а вторая опреде-
        ляет смещение внутри этого сегмента.  Обе константы не должны вы-
        ходить за пределы диапазона от $0000 до $FFFF (от 0 до 65535).

             В программах защищенного режима DOS и в Windows первую форму
        оператор absolute нужно использовать очень аккуратно, если вообще
        стоит это  делать.  Во  время  выполнения  прикладной   программы
        Windows или  DOS защищенного режима она может не иметь полномочий
        доступа к областям памяти вне вашей программы.  Попытка доступа к
        этим областям памяти может привести к сбою программы.

             Вторая форма  оператора  absolute  используется для описания
        переменной,  которая помещается "поверх"  другой  переменной,  то
        есть по тому же самому адресу, что и другая переменная.

             var
               Str: string[32];
               StrLen: byte absolute Str;

             Это описание указывает,  что переменная StrLen должна разме-
        щаться с того же адреса, что и переменная Str, а поскольку первый
        байт  строковой переменной содержит динамическую длину строки, то
        StrLen будет содержать длину Str.

             Эту вторую форму оператора absolute можно без  опасения  ис-
        пользовать при программировании в Windows или в защищенном режиме
        DOS. Память,  к которой вы обращаетесь, находится в области прог-
        раммы.


Содержание

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

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

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

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

Hosted by uCoz