TURBO PASCAL |
Новости
|
Предопределенные селекторыВ модуле System для обычно используемых адресов реального режима предусмотрено несколько предопределенных селекторов. Они именуются по физическому сегменту, которому данные селекторы присвоены, и используются для совместимости между реальным и за- щищенным режимом DOS. Предопределенные селекторы Таблица 17.1 ┌──────────────────┬────────────────────────────────────────────┐ │ Селектор │ Описание │ ├──────────────────┼────────────────────────────────────────────┤ │ Seg0040 │ Используется для доступа к области данных│ │ │ BIOS $40 в младших адресах. │ ├──────────────────┼────────────────────────────────────────────┤ │ SegA000 │ Используется для доступа к графической па-│ │ │ мяти EGA и VGA по адресу сегмента $A000. │ ├──────────────────┼────────────────────────────────────────────┤ │ SegB000 │ Используется для доступа к видеопамяти мо-│ │ │ нохромного адаптера по адресу сегмента│ │ │ $A000. │ ├──────────────────┼────────────────────────────────────────────┤ │ SegB800 │ Используется для доступа к видеопамяти│ │ │ цветного графического адаптера по адресу│ │ │ сегмента $A000. │ └──────────────────┴────────────────────────────────────────────┘ В реальном режиме переменные SegXXXX всегда содержат значе- ния $0040, $A000, $B000 и $B800 соответственно. В защищенном ре- жиме код запуска библиотеки исполняющей системы создает четыре селектора, ссылающихся на конкретные области памяти реального ре- жима. При ссылке на эти области памяти вам следует использовать переменные SegXXXX. Например, если у вас был код следующего вида: B.Pascal 7 & Objects/LR - 281 - CtrMode := Mem[$40: $49]; то вместо него следует записать: CtrMode := Mem[Seg0040: $49]; Используя переменные SegXXXX, вы можете гарантировать, что ваша программа без изменений будет работать в реальном и защищен- ном режимах. |
(с)Все права защищены По всем интересующим вопросам прошу писать на электронный адрес |