Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Старый софт » DOS/16M |
<<Назад Вперед>> | Страницы: 1 * 2 3 4 | Печать |
AndNot
Full Member
Откуда: Penza, Russia Всего сообщений: 215 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 июня 2006 |
Ребята, вы о чем? "Клавиатурный костыль" - это документированная возможность сброса процессора, введенная еще с 8086-й машины и работающая на всех современных. А причину сброса биос узнает с помощью байта отключения (CMOS[0x0F]). Начиная с 286-й ввели 5-ть кодов, как раз для работы с защищенным режимом: 6-8 - сброс после работы в защищенном режиме, 9 - сброс после копирования блока памяти из основной в расширенную (используется обработчиком INT 15h), и 0xA - сброс и немедленная передача управления по адресу, лежащему в 0000h:0476h. Например память биос подсчитывает и тестирует именно в защищенном режиме, возвращаясь к продолжению POST-процедур посредством сброса через "клавиатурный костыль" (код сброса - 0x8). Так что переход из защищенного в реальный режим прокатит на всех 286-х машинах. Скажу больше, это прокатит и на всех других машинах. Я это использовал для экстренного выхода из вин 3.11 в реальный режим на 386-й машине. PS: а программисты мелкософта, кто бы что ни думал о этой конторе, были отличными профи - именно они нашли выход, когда оказалось, что в 286-м процессоре не предусмотрена процедура перехода в реальный режим. И мелкософт никогда бы не решился на это будь вероятность несовместимости - тогда еще была хоть какая то конкуренция ОС. |
Zelya
Member
Откуда: Львов Всего сообщений: 187 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 янв. 2009 |
AndNot Мы все о том же. Ну не предусмотрели в 286 штатный возврат к реальному режиму, как в 386. И чтобы это сделать нужно было использовать "клавиатурный костыль" - т.е. сбросить процессор, и он по-новому стартанет в реальном режиме. Только вот беда, это слишком долго и ненадежно. Поэтому Windows 2.x/3.х на 286-м работают в реальном режиме, а OS/2 1.x на 286-м пользуется костылями, описанными выше. Ребята, вы о чем? |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 | |
AndNot
Full Member
Откуда: Penza, Russia Всего сообщений: 215 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 июня 2006 |
Zelya, в 286-м есть штатный режим перехода в реальный из защищенного - по сбросу. А то, что для этого не использовалась отдельная команда, так это косяк инженеров интела, считавших, что защищенный режим настолько хорош, что если кто-то в него перейдет, то выходить в реальный ему не захочется. По крайней мере такие байки гуляли в мою молодость. Но, еще раз подчеркну, это не костыль, это строго документированная функция, которой придерживались все последующие процессоры. Собственно и вмешался из-за слова "костыль", поскольку сброс через контроллер клавиатуры был вполне стандартизирован. В те времена инженерам приходилось бороться за каждый бит, вот и получали биты конфигурации там, где их логически быть не должно бы. Особенно этим грешат видеоадаптеры, у которых вообще такая мешанина битов, что впору психушку вызывать. Однако все пользуются ягой и ВГА и не вякают, считая что так и должно быть Что касается скорости, то выбора все равно нет - бери что дают. Кстати, не скажу за счет dos/16m, но Borland Pascal использует защищенный режим как раз под 286-е машины. Помню злился на них за это, приходилось писать свои либы для адаптации паскаля к 32-х разрядному защищенному режиму Я это к тому, что на паскале можно прекрасно испытать защищенный режим 286-х машин. alecv написал: DOS Logic был прав. Что касается команды loadall. Найдите хоть один 286-й камень, который не поддерживал бы эту команду Тогда и обсудим, документированная это команда, или нет. DOS Logic Покурите матчасть, пожалуйста |
Zelya
Member
Откуда: Львов Всего сообщений: 187 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 янв. 2009 |
AndNot написал: Такая байка гуляет и сейчас. Так что думаю, это совсем не байка. А то, что для этого не использовалась отдельная команда, так это косяк инженеров интела, считавших, что защищенный режим настолько хорош, что если кто-то в него перейдет, то выходить в реальный ему не захочется. По крайней мере такие байки гуляли в мою молодость. AndNot написал: Хоть мы и сваливаемся в жесткий флейм, но все-таки я останусь при своем мнении - это костыль. Сам факт бутания процессора и десятки проблем связанных с этим, ради того чтобы вернуться в реальный режим - непорядок. Была такая шутка, что Intel задизайнили 386, увидев как программисты OS/2 мучаются с 286-м. Но, еще раз подчеркну, это не костыль, это строго документированная функция, которой придерживались все последующие процессоры. AndNot написал: Очень интересная информация! Спасибо! Borland Pascal использует защищенный режим как раз под 286-е машины |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
AndNot написал: Встречная просьба: покажите хоть один мануал от Intel, где эта команда документирована. DOS Logic был прав. Что касается команды loadall. Найдите хоть один 286-й камень, который не поддерживал бы эту команду Тогда и обсудим, документированная это команда, или нет. |
Кай
Гость
Divine Assassin Откуда: извне (from beyond) Всего сообщений: 13709 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 авг. 2010 |
хоть один мануал от Intel, где эта команда документирована.http://www.google.ru/url?q=htt...KBKONSc1tw Искать в тексте по Program State Change. |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
Кай Уууу. Cтраницу можно ? Program State Change находится 45 раз, все в главе про Interrupt and exception handling. И потом, это Pentium, у него программная модель несколько отличается от 286. Вдобавок, педевикия дает АИ, что LOADALL на некоторых старых 286 работала не совсем как на новых. "The idea had to be mostly discarded, furthermore, due to errata in some early Intel 80286 processors before the E-2 stepping" |
Кай
Гость
Divine Assassin Откуда: извне (from beyond) Всего сообщений: 13709 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 авг. 2010 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 6 ноября 2012 0:34 Сообщение отредактировано: 6 ноября 2012 0:38 Угу. Погоди. А то у меня случится device overflow. Похоже, ты прав. В общедоступных документах нет конкретики. Кай Уууу. В необщедоступных, как-то так: http://www.rcollins.org/articles/loadall/tspec_a3_doc.html Но не выполнено условие "от Интела"... |
AndNot
Full Member
Откуда: Penza, Russia Всего сообщений: 215 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 июня 2006 |
alecv написал: Был 15-ти страничный конфиденциальный документ от интела, в котором и описывалась эта команда. С документом работала уйма народа, включая ibm и микрософт, потому об этой команде стало известно и остальным. Честно говоря влом искать те бумаги. Да и не вижу смысла, поскольку эта команда используется в таком софте как: Встречная просьба: покажите хоть один мануал от Intel, где эта команда документирована. - ms dos 3.3 и выше; - OS/2; - CodeView (точнее он лишь знает эту команду); То есть особо приближенные к интелу не стеснялись использовать эту "недокументированную" команду. Ну и на "закуску". Поздние 386-е и 486-е модели не имели команды LOADALL, они просто эмулировали ее 286-ю версию (опкод 0x0f, 0x05) посредством BIOS. Сами понимаете, что в BIOS слишком мало места, чтобы пихать в него малонужный код. Видимо были очень серьезные основания для этого. |
<<Назад Вперед>> | Страницы: 1 * 2 3 4 | Печать |
Полигон-2 » Старый софт » DOS/16M |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |