Size: a a a

2021 January 11

BD

Berkus Decker in pro.osdev
salvoroni
Здравствуйте, помогите, пожалуйста понять в чем ошибка
Пытаюсь сделать загрузчик
в 16 битный режим заходит нормально
с диска при загрузке ядра ошибок тоже нет
но вот при переходе на 32 бита начинается проблема
в qemu 2 надписи (о 16 битном режиме и о загрузке ядра в память) начинают мигать
видимо я как-то не так настроил переход на 32 бита в gdt
посмотрите, пожалуйста

https://github.com/salvoronis/osDev/blob/master/gdt.asm
тебе ассемблер точно не ругается на dw 0xf_ffff?
источник

s

salvoroni in pro.osdev
Berkus Decker
тебе ассемблер точно не ругается на dw 0xf_ffff?
нет
но изначально там было fff
просто решил попробовать так
источник

BD

Berkus Decker in pro.osdev
ну вообще странно потому что правильно для двухбайтного слова это будеет выглядеть как ff_ff
а не f_ff_ff и не f_ff
источник

s

salvoroni in pro.osdev
https://github.com/salvoronis/osDev/blob/master/switch_to_32.asm#L15

вот после этой строчки все ломается
источник

s

salvoroni in pro.osdev
Berkus Decker
ну вообще странно потому что правильно для двухбайтного слова это будеет выглядеть как ff_ff
а не f_ff_ff и не f_ff
я знаю
не на столько тупой)
источник

BD

Berkus Decker in pro.osdev
а что такое DATA_SEG?
источник

BD

Berkus Decker in pro.osdev
где его искать
источник

s

salvoroni in pro.osdev
сейчас
источник

BD

Berkus Decker in pro.osdev
и как ассемблер его находит если оно не видно в скоупе
источник

BD

Berkus Decker in pro.osdev
salvoroni
я знаю
не на столько тупой)
тогда почему ты попробовал два неправильных варианта и ни одного правильного?
источник

s

salvoroni in pro.osdev
%include в основной файл
источник

s

salvoroni in pro.osdev
Berkus Decker
тогда почему ты попробовал два неправильных варианта и ни одного правильного?
решил попробовать на всякий случай
я много уже чего испробовал
источник

s

salvoroni in pro.osdev
удивился, что nasm не ругается
источник

BD

Berkus Decker in pro.osdev
salvoroni
удивился, что nasm не ругается
вообще странно, должен
источник

BD

Berkus Decker in pro.osdev
salvoroni
%include в основной файл
ага, нашел
источник

s

salvoroni in pro.osdev
Berkus Decker
а что такое DATA_SEG?
источник

BD

Berkus Decker in pro.osdev
источник

BD

Berkus Decker in pro.osdev
ты не флашишь кодовый дескриптор
источник

s

salvoroni in pro.osdev
CODE_SEG:init_pm?
источник

BD

Berkus Decker in pro.osdev
https://github.com/berkus/odin/blob/master/boot/boot.asm#L315 должно быть вот так да
источник