![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
![]()
Весь код приведите. А так же код загрузчика, часто у новичков бывает, что ядро целиком не загружено в память.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
![]() |
![]() |
![]() |
#12 |
Пользователь
Регистрация: 23.08.2017
Сообщений: 59
|
![]()
boot.asm
Код:
Код:
|
![]() |
![]() |
![]() |
#13 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
![]()
У вас код весит 1015 байт. БИОС загружает в память только 1 сектор=512 байт.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
![]() |
![]() |
![]() |
#14 |
Пользователь
Регистрация: 23.08.2017
Сообщений: 59
|
![]()
Так я же перехожу за первый бут сектор. На второй.
Код:
|
![]() |
![]() |
![]() |
#15 |
Пользователь
Регистрация: 23.08.2017
Сообщений: 59
|
![]()
Или ошибаюсь?
Но вывод на экран работал.(пока я не подключил таблицу IDT) |
![]() |
![]() |
![]() |
#16 | |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
![]()
Nikolay2015
Цитата:
Вы должны с жёсткого диска используя int 13h загрузить нужный сектор. А после сделать jmp или call на нужный код.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
|
![]() |
![]() |
![]() |
#17 |
Пользователь
Регистрация: 23.08.2017
Сообщений: 59
|
![]()
Да уж это жёстко всё. Придётся сейчас браться и читать про int 13h. А так спасибо за ответы. Как прочитаю про int 13h вернусь к вопросу прерываний.
Хоть это занятие и выглядит жутковато, но всё же это ОЧЕНЬ интересно. |
![]() |
![]() |
![]() |
#18 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,370
|
![]()
А зачем мучиться загрузчиком?
Что мешает обкатать технологию COM файлом, в ближайшем DOSBox-е и лишь в конце уже тестировать "реально". |
![]() |
![]() |
![]() |
#19 |
Пользователь
Регистрация: 23.08.2017
Сообщений: 59
|
![]()
Так как новичок. Не очень понимаю о чем вы. Можете объяснить?
|
![]() |
![]() |
![]() |
#20 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
![]()
И не говори.
Написание загрузчика сродни вытягивания себя за волосы из болота. Если борон Мюнхгаузен проделывал это в болоте. То я бы добавил, что дело к тому же происходит на минном поле. Многие ОСеписатели начиная писать ОС с загрузчика зависают на нём и так и не доходят до ядра. Так вот предлагается кардинально упростить себе жизнь пропустив работу с загрузчиком. Попросту отказавшись от его написания. 1) Используем DOS для запуска нашего ядра. Просто создаём COM - файл, а дальше всё в ваших руках формально среда практически не чем не отличается от той которую вам даёт БИОС при загрузки MBR.Отличие только в входных параметрах. DOS загружает COM файлы размером до 64 КБ. И вместо org 0x7c00 пишем org 100h. 2) Используем Multiboot Specification. Её поддерживают многие загрузчики, но основным является Grub.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Прерывания | kolyan147 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 13.06.2012 23:55 |
прерывания | lilek | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 14.12.2010 20:44 |
Прерывания | alexdrew | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 16.05.2010 00:38 |
Прерывания | Kn793 | Общие вопросы Delphi | 3 | 10.01.2009 18:43 |