Вы не зашли.
Привет!
Переполнение линейного адреса происходит при обращении к памяти, если база сегмента + смещение получается больше 4GB. Можно устроить такое либо в защищённом режиме, либо в реальном, сохранив сегментный регистр из защищённого.
Что происходит по факту:
- в реальном - перезагрузка
- в защищённом - никаких проблем. Наверное, даже работает, т.е. действительно читает/записывает.
Вопрос, почему такая разница, и что при этом должно происходить с точки зрения теории.
в теории 4-байтовое значение не может превысить 4-гигбайтный диапазон. То есть все, что левее 32-х битов, порсто отбрасывается
sergh
Мне не удавалось задать базу в 4Гб для реального режима. В принципе можно сделать лимит в 4Гб, и попробывать прочитать 0FFFFh:0FFFFFFFF, по идее адрес должен свернуться, и получится обращение к ячейке памяти 0FFFF:0 - 1, или линейный = 0xFFFEF.