Зачем нужен ЕММ386?

Поиск, обмен ссылками, вопросы по устаревшему программному обеспечению.
MsDemonid
Member
Сообщения: 167
Зарегистрирован: 13.10.2015,08:33
Откуда: Пенза

Зачем нужен ЕММ386?

Сообщение MsDemonid » 13.01.2021,01:04

Эта команда использовалась только для 286-х машин, из-за отсутствия у них нормального перехода с защищенного режима в реальный. На 386-х я использования такой команды не припомню, там использовались только документированные средства. Может я и ошибаюсь с переходом в защищенный режим, но точно не LOADALL. Да даже если и не было переключения режимов, все равно основные временные потери - это копирование блоков памяти между основной и дополнительной памятью. Собственно LOADALL с тройками и умерла, точнее ушла в CMM режим, за ненадобностью.
Насколько мне не изменяет память, на 286-х эту команду пытались использовать для запуска программ реального режима из защищенного 16-ти битного режима. Что-то мутили с дескрипторами сегментов, что позволяло перехватывать изменения сегментных регистров программ реального режима и соответственно подставлять нужные участки памяти, создавая видимость работы программы в реальном режиме. Только вот тормозило это ужасно (LOADALL все таки прилично времени кушает). И до ума так и не довели, глючило, в частности из-за ошибок в некоторых процессорах 80286. Но, сама идея интелу понравилась и на свет родился режим "виртуальной 8086". То есть тот самый, в котором и работает EMM386.

Forza3dfx
Advanced Member
Сообщения: 729
Зарегистрирован: 01.03.2015,08:51

Вклад в сообщество

Зачем нужен ЕММ386?

Сообщение Forza3dfx » 13.01.2021,14:45

MsDemonid писал(а):
13.01.2021,01:04
та команда использовалась только для 286-х машин, из-за отсутствия у них нормального перехода с защищенного режима в реальный. На 386-х я использования такой команды не припомню, там использовались только документированные средства. Может я и ошибаюсь с переходом в защищенный режим, но точно не LOADALL.
Там же - https://frolov-lib.ru/books/bsp/v06/ch6.htm
► Показать
Тут - https://board.flatassembler.net/topic.php?p=142654
► Показать
Там же - https://board.flatassembler.net/topic.php?t=11940
► Показать
Исходники HIMEM версии 2.04 - https://github.com/MikeyG/himem#himem
В этом архиве есть посвежее - http://old-dos.ru/index.php?page=files& ... ow&id=4005
Больше нет надобности "заглядывать в собаку" с отладчиком, как раньше ;)

На 386+ устанавливается обработчик на GPF, в котором переход в защищенный режим и обратно требуется только для установки
правильных селекторов DS и ES, все операции c блоками памяти проделываются в реальном режиме, точнее в т.н. "Real Big Mode".

Ответить