Найдено результатов: 2

Смешивание 32-битного и 16-битного кода с nasm

Это вопрос систем низкого уровня.

Мне нужно смешать 32-битный и 16-битный код, потому что я пытаюсь вернуться в реальный режим из защищенного режима. Как немного справочной информации, мой код делает это сразу после загрузки GRUB, поэтому у меня нет какой-либо надоедливой операционной системы, чтобы сказать мне, что я могу и не могу сделать.

В любом случае, я использую [BITS 32] и [BITS 16] с моим assembly, чтобы сообщить nasm, какие типы операций он должен использовать, но когда я тестирую свой код, используйте bochs, похоже, что для некоторых операций bochs не выполняет код, который я написал. Похоже, что ассемблер застрял в экстрах 0x66 и 0x67, что смущает bochs.

Итак, как я могу заставить nasm успешно собрать код, где я смешиваю 32-битный и 16-битный код в одном файле? Есть ли какой-то трюк?

operating-system   nasm   osdev   assembly    

494   4   15:18, 25th August, 2020


Каков наилучший способ узнать linux или BSD kernel внутренностей?

Я хотел бы получить более глубокое знание внутренних компонентов операционной системы. Управление процессами, управление памятью и тому подобное.
Я думал о том, чтобы учиться, узнавая либо linux, либо BSD kernel.
Какой из них kernel лучше для целей обучения?
Что лучшее место, чтобы начать?
Можете ли вы порекомендовать какие-нибудь хорошие книги?


linux   operating-system   kernel   bsd   osdev    

566   12   06:27, 13th August, 2020