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. Он тебе укажет в какой строчке возникает исключение и что за исключение, сам не разберешся напиши здесь какая инструкция и какое исключение, а можешь на мыло.
|
Наверх
|
|
Модераторы: Roman I Khimov |
|
|