![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 15.12.2010
Сообщений: 74
|
![]()
Здравствуйте. Сразу к делу. Имеется программа, написанная на BP с асм-вставками, переводящая в защищенный режим работы процессора и которая должна там сгенерировать седьмое исключение — отсутствие (в частности) FPU.
Проблема в том, что при попытке использовать в защищенном режиме какую-либо из команд FPU (за исключением fninit, она, как я понял, не инициирует прерывание), DoSBOX вылетает. Вот кусок кода, в котором я пытаюсь использовать FPU, предварительно установив бит TS регистра CR0 в единицу. Код:
Прикрепил сам .pas файл и текст модуля PROT, который используется программой. В модуль особо лазить не стоит, его прикрепил лишь для обеспечения работы. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 15.12.2010
Сообщений: 74
|
![]()
Goodwin98
Да. И это работает, проверено двумя другими обработчиками. А по теме какие-нибудь конкретные мысли будут? |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 15.12.2010
Сообщений: 74
|
![]()
Не сработало. Еще идеи?
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 15.12.2010
Сообщений: 74
|
![]()
Не вылетел, повис.
Скажите, вы попробовали закомпилировать программу, или это что-то из разряда советов "пропылесось кулер и сделай дефрагментацию"? |
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
второе, обработчик исключений то есть? воспользуйтесь Bochs Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 27.12.2012 в 00:18. |
|
![]() |
![]() |
![]() |
#9 |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
![]()
У меня нет компилятора паскаля. Но согласитесь, если вылетает эмулятор, а не программа работающая в нем, то это проблема эмулятора.
Выложите компилированный файл, мне интересно как изнутри можно повесить виртуальную машину. |
![]() |
![]() |
![]() |
#10 | |
Пользователь
Регистрация: 15.12.2010
Сообщений: 74
|
![]()
Пепел Феникса
Цитата:
Все правильно, седьмое исключение мне и нужно вызвать. В модуле prot описана заглушка, выводящая номер исключения и адрес команды, инициировавшей ее, после чего досрочно завершает работу программы. Собственно, моей задачей и есть разработать собственный обработчик, но споткнулся я на генерации исключения, как видите. И акцент проблемы немного не там. Почему у меня происходит такая ерунда при попытке использовать FPU, даже без шаманства с CR0? Goodwin98 Прошу. http://rghost.ru/42539958 |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
В защищенном режиме вывести время | sheff123 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 11.12.2012 11:27 |
Организация памяти в защищенном режиме. | BigBong | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 4 | 24.09.2011 11:58 |
Как проверить что windows запущена в защищенном режиме | vitol | Win Api | 8 | 21.05.2010 12:02 |
работа с подпрограммами в защищенном режиме x86 | =termi= | Помощь студентам | 1 | 19.01.2010 12:22 |
Работа в защищенном режиме(TASM) | adgam | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 11.11.2009 22:48 |