ВУЗ:
Составители:
45
программы (до перезагрузки компьютера) линейную адресацию можно будет
использовать из любой другой программы DOS, как поступил в своем
примере Томас Роден.
Рассмотрим более подробно процедуру переключения одного из
дополнительных сегментных регистров в режим линейной адресации. Каждый
сегментный регистр, как указано в документации [5], состоит из видимой и
невидимой (теневой) частей. Информацию в видимую часть можно
записывать напрямую при помощи обычных команд пересылки данных (M0V
и др.), а для записи в невидимую часть применяются специальные команды,
которые доступны только в защищенном режиме. Теневая часть представляет
собой так называемый дескриптор (описатель) сегмента, длина которого
равна 8 байтам.
При переходе от 16-разрядной архитектуры к 32-разрядной (то есть от
i286 к i386) разработчики нового процессора попытались сохранить
совместимость снизу вверх по структуре системных регистров, в результате
чего дескрипторы сегментов приобрели довольно уродливый (с точки зрения
технической эстетики) вид — поля предела и базового адреса разделены на
несколько частей. Кроме того, поле предела оказалось ограничено 20
разрядами, что вынудило разработчиков применить еще один
радиолюбительский трюк — ввести бит гранулярности G, чтобы можно было
задавать размер сегмента, превышающий 16 Мбайт.
программы (до перезагрузки компьютера) линейную адресацию можно будет использовать из любой другой программы DOS, как поступил в своем примере Томас Роден. Рассмотрим более подробно процедуру переключения одного из дополнительных сегментных регистров в режим линейной адресации. Каждый сегментный регистр, как указано в документации [5], состоит из видимой и невидимой (теневой) частей. Информацию в видимую часть можно записывать напрямую при помощи обычных команд пересылки данных (M0V и др.), а для записи в невидимую часть применяются специальные команды, которые доступны только в защищенном режиме. Теневая часть представляет собой так называемый дескриптор (описатель) сегмента, длина которого равна 8 байтам. При переходе от 16-разрядной архитектуры к 32-разрядной (то есть от i286 к i386) разработчики нового процессора попытались сохранить совместимость снизу вверх по структуре системных регистров, в результате чего дескрипторы сегментов приобрели довольно уродливый (с точки зрения технической эстетики) вид — поля предела и базового адреса разделены на несколько частей. Кроме того, поле предела оказалось ограничено 20 разрядами, что вынудило разработчиков применить еще один радиолюбительский трюк — ввести бит гранулярности G, чтобы можно было задавать размер сегмента, превышающий 16 Мбайт. 45
Страницы
- « первая
- ‹ предыдущая
- …
- 43
- 44
- 45
- 46
- 47
- …
- следующая ›
- последняя »