: . Главная . : . Форум . : . Загрузка . : . Пользователи . : . ЧаВо . : . Документация . :


Операционная система 3OS -> Форумы -> Разное
<< Предыдущая тема | Следующая тема >>   

He-e-e-elp!!!

Перейти к странице -1-2-3-4-5 Следующая
Автор Отправлено
Dreamer
Sunday 22.02.2004 21:37 Цитата
Зарегистрирован Friday 20.02.2004 09:36
Местоположение: Mogilev, Belarus
Сообщений - 114
Граждане девелоперы!!! Если можете, подскажите (желательно поподробнее), как перевести процессор в защищенный режим работы??? И без использования функций DOS -- только с BIOS. Думаю, раз вы пишите ось, то знать это должны... Или ссылку дайте. Заранее признателен
Наверх
AlexeyASugonyaev
Sunday 22.02.2004 21:54 Цитата
Зарегистрирован: Tuesday 18.11.2003 06:36
Местоположение: Челябинская обл., г.Карталы
Сообщений - 68
Dreamer писал(а): ...
Граждане девелоперы!!! Если можете, подскажите (желательно поподробнее), как перевести процессор в защищенный режим работы??? И без использования функций DOS -- только с BIOS. Думаю, раз вы пишите ось, то знать это должны... Или ссылку дайте. Заранее признателен


" MOV EAX, CR0"
" OR AL, 0x01"
" MOV CR0, EAX"

С последующим межсегментным JMP, есстественно GDT должна быть подготовлена, а прерывания выключены.
Наверх
Alexey Revin
Sunday 22.02.2004 22:03 Цитата

Зарегистрирован: Tuesday 18.11.2003 16:27
Местоположение: Россия. г.Челябинск
Сообщений - 43
А какая функция дос или биос переводит его в защищенный режим работы?
Наверх
Сайт
Dreamer
Sunday 22.02.2004 22:28 Цитата
Зарегистрирован: Friday 20.02.2004 09:36
Местоположение: Mogilev, Belarus
Сообщений - 114
Знаю, что можно извратиться и как-то сделать это через ДОС. А вот кто мне объяснит, what is GDT? Чем дальше, тем больше я понимаю, какой из меня системный программер. Хотя... 15 лет еще
Наверх
Dreamer
Sunday 22.02.2004 22:50 Цитата
Зарегистрирован: Friday 20.02.2004 09:36
Местоположение: Mogilev, Belarus
Сообщений - 114
Вдогонку: а разве до перехода в 32-х битный режим можно использовать 32-х битные регистры (кажется они так называются?) типа eax etc?
Наверх
AlexeyASugonyaev
Monday 23.02.2004 10:02 Цитата
Зарегистрирован: Tuesday 18.11.2003 06:36
Местоположение: Челябинская обл., г.Карталы
Сообщений - 68
Dreamer писал(а): ...
Вдогонку: а разве до перехода в 32-х битный режим можно использовать 32-х битные регистры (кажется они так называются?) типа eax etc?


Можно, лишь бы не вырваться за пределы реально адресуемого пространства в RM. А для вещей не связанных с адресной арифметикой можно не бояться использовать это вообще. Насчет прерываний BIOS переводящих в PM, помню что видел где-то, не помню где. Может быть просто поглядеть у Брауна?
Наверх
Dreamer
Monday 23.02.2004 10:25 Цитата
Зарегистрирован: Friday 20.02.2004 09:36
Местоположение: Mogilev, Belarus
Сообщений - 114
Есть такая книжечка г-на Фароновы про Турбо Паскаль 7. Там имеется несколько примеров про перевод процессора в защищенный режим. И, если я не ошибаюсь, там есть int 21h.
Наверх
Dreamer
Monday 23.02.2004 14:09 Цитата
Зарегистрирован: Friday 20.02.2004 09:36
Местоположение: Mogilev, Belarus
Сообщений - 114
Кстати, вот нашел example, но при его запуске комп выходит в перезагрузку. Если можете, подскажите, в чем тут дело. Компилировал в NASM. Этот пример я прилепил к этому сообщению.

kernel.txt
Наверх
diper
Monday 23.02.2004 16:17 Цитата
Зарегистрирован: Monday 17.11.2003 10:25
Сообщений - 4
Dreamer писал(а): ...
Есть такая книжечка г-на Фароновы про Турбо Паскаль 7. Там имеется несколько примеров про перевод процессора в защищенный режим. И, если я не ошибаюсь, там есть int 21h.


int15.
Наверх
Dreamer
Monday 23.02.2004 17:50 Цитата
Зарегистрирован: Friday 20.02.2004 09:36
Местоположение: Mogilev, Belarus
Сообщений - 114
Int15 -- это, по справочнику, Cassette and external services. Относится к ROM BIOS, но не к DOS
Наверх
AlexeyASugonyaev
Monday 23.02.2004 23:20 Цитата
Зарегистрирован: Tuesday 18.11.2003 06:36
Местоположение: Челябинская обл., г.Карталы
Сообщений - 68
Dreamer писал(а): ...
Int15 -- это, по справочнику, Cassette and external services. Относится к ROM BIOS, но не к DOS

В примере который ты прислал я вроде бы ничего такого непозволительного не нашел, но и разглядывал не долго. Если есть у тебя возможность запусти это код в Bochs. Он тебе укажет в какой строчке возникает исключение и что за исключение, сам не разберешся напиши здесь какая инструкция и какое исключение, а можешь на мыло.
Наверх
Перейти к странице -1-2-3-4-5 Следующая

Модераторы: Roman I Khimov

Переход:     Наверх