OSDev http://osdev.su/ |
|
Virtual 8086 mode http://osdev.su/viewtopic.php?f=6&t=522 |
Страница 1 из 4 |
Автор: | DJ PhoeniX [ 03 апр 2012, 14:52 ] |
Заголовок сообщения: | Virtual 8086 mode |
Знаю, знаю, "гугл рулит", но видимо меня там забанили. Суть проста - у кого есть простой и понятный ман по этой фиче? А то в сети либо так запутано, что проще офис на брейнфаке написать, либо весь ман сводится к "постройте адронный коллайдер и просто нажмите кнопку". В идеале - асмовый код (проще - лучше), а ещё идеальнее - с комментариями. |
Автор: | SII [ 03 апр 2012, 14:57 ] |
Заголовок сообщения: | Re: Virtual 8086 mode |
Всё вполне вменяемо описано в интеловских мануалах на архитектуру. Если Вы понять её (документацию) не в состоянии, то уж, извините, осеписательство -- не Ваше. Ну а если в состоянии, но лениво разбираться и хочется готового -- то хотеть не вредно, но придётся всё ж самому. На чужом опыте, каким бы великим он ни был, далеко не уедешь. |
Автор: | DJ PhoeniX [ 03 апр 2012, 15:38 ] |
Заголовок сообщения: | Re: Virtual 8086 mode |
SII писал(а): Всё вполне вменяемо описано в интеловских мануалах на архитектуру. Если Вы понять её (документацию) не в состоянии, то уж, извините, осеписательство -- не Ваше. Ну а если в состоянии, но лениво разбираться и хочется готового -- то хотеть не вредно, но придётся всё ж самому. На чужом опыте, каким бы великим он ни был, далеко не уедешь. Да я понимаю, что можно и доки пораскуривать, вопрос в необходимости. Ради двух-трёх интов курить 10 страниц - как-то непродуктивно... |
Автор: | grindars [ 03 апр 2012, 16:48 ] |
Заголовок сообщения: | Re: Virtual 8086 mode |
Если вам нужно вызвать какой-нибудь VBE, то посмотрите пару моих постов в теме про эмуляторы - такое может оказаться более простым решением, и, к тому же, работающим на IA-32e. |
Автор: | phantom-84 [ 03 апр 2012, 16:59 ] |
Заголовок сообщения: | Re: Virtual 8086 mode |
DJ PhoeniX писал(а): Да я понимаю, что можно и доки пораскуривать, вопрос в необходимости. Ради двух-трёх интов курить 10 страниц - как-то непродуктивно... Кстати, если все-таки решишь разобраться основательно, можем скооперироваться. У меня недавно возникла задача запустить одно приложение под мою ось на основе сервиса BIOS 10h/13h/16h, не "убивая" таймерный и другие обработчики BIOS'а, т.е. без родных дров и полноценного ядра.
|
Автор: | Yoda [ 03 апр 2012, 17:11 ] |
Заголовок сообщения: | Re: Virtual 8086 mode |
В тьюториалах Алексея Фрунзе http://members.tripod.com/protected_mod ... mtuts.html есть пример запуска режима V86 и обработки внутри него вызовов BIOS. Вообще говоря, если есть в планах переход на 64-битное расширение, то от V86 надо отказываться. V86 в 64-битном режиме не поддерживается. Поэтому, кстати, нельзя запустить ДОС-овские экзешники на 64-битных версиях винды. |
Автор: | phantom-84 [ 03 апр 2012, 17:30 ] |
Заголовок сообщения: | Re: Virtual 8086 mode |
Мне нужно в 32-разрядном приложении обращаться ко всем хардам и флешкам, которые видит BIOS. |
Автор: | DJ PhoeniX [ 03 апр 2012, 19:55 ] |
Заголовок сообщения: | Re: Virtual 8086 mode |
grindars писал(а): Если вам нужно вызвать какой-нибудь VBE, то посмотрите пару моих постов в теме про эмуляторы - такое может оказаться более простым решением, и, к тому же, работающим на IA-32e. Я уже думал над полноценной эмуляцией, и даже продвинулся в этом направлении, но как-то мне это кажется не совсем правильным, когда есть готовые решения. Хотя про х64 правильно сказали - там вообще иного пути нет. |
Автор: | grindars [ 03 апр 2012, 20:30 ] |
Заголовок сообщения: | Re: Virtual 8086 mode |
Yoda писал(а): Поэтому, кстати, нельзя запустить ДОС-овские экзешники на 64-битных версиях винды. В NTVDM для Alpha и MIPS был чистый эмулятор x86. Вероятно, MS просто решила выкинуть поддержку 16-битных виндовых приложений, для которых есть куча костылей в граф. подсистеме, а ДОСу "до кучи" досталось. P.S. Все совпадения случайны :) DJ PhoeniX писал(а): Я уже думал над полноценной эмуляцией, и даже продвинулся в этом направлении, но как-то мне это кажется не совсем правильным, когда есть готовые решения. Хотя про х64 правильно сказали - там вообще иного пути нет. Я бы повесил (собственно, и вешал) эмулятор 8086 в отдельную задачу, чтобы не захламлять ядро кучей малонужных костылей для поддержки давно умершего софта. |
Автор: | valeri [ 03 апр 2012, 20:36 ] |
Заголовок сообщения: | Re: Virtual 8086 mode |
DJ PhoeniX писал(а): Я уже думал над полноценной эмуляцией, и даже продвинулся в этом направлении, но как-то мне это кажется не совсем правильным, когда есть готовые решения. Хотя про х64 правильно сказали - там вообще иного пути нет. Как раз таки эмуляция и есть правильный выход, имхо единственно правильный, тем более для 8086 ее не так сложно написать. |
Страница 1 из 4 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |