Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Загрузчик глючит.

5.5K
30 октября 2004 года
Sashusik
13 / / 08.03.2004
Я написал свой загрузчик, который выводит на экран текст с помощью функций BIOS. После чего этот загрузчик грузит ядро с дискеты(работа с дискетой из GLUKOS). Он[загрузчик] работает правильно. Но вот ядро выводит на экран всякую бяку, хотя в нём содержиться тот же код что и в загрузчеке.
Единственная разница что функции ввода/выводы вынесенны в отдельные файлы(include "io.asm"). Причем позиция курсора правильно переводится, а вот выводимый текст теряется. В чём может быть ошибка?
3.6K
01 ноября 2004 года
justinX
49 / / 28.07.2004
Цитата:
Originally posted by Sashusik
Я написал свой загрузчик, который выводит на экран текст с помощью функций BIOS. После чего этот загрузчик грузит ядро с дискеты(работа с дискетой из GLUKOS). Он[загрузчик] работает правильно. Но вот ядро выводит на экран всякую бяку, хотя в нём содержиться тот же код что и в загрузчеке.
Единственная разница что функции ввода/выводы вынесенны в отдельные файлы(include "io.asm"). Причем позиция курсора правильно переводится, а вот выводимый текст теряется. В чём может быть ошибка?



Попробуй работу ввода/вывода вынести в отдельную программу(временно для тестирования) без ядра и отладить :)

3.6K
01 ноября 2004 года
justinX
49 / / 28.07.2004
О! кстати могу поделится своим загрузчиком (ну не совсем своим правда). Он точно работает!! написан на асме + немного паскаля..... если нада могу куда-нить сбросить :)
5.5K
02 ноября 2004 года
Sashusik
13 / / 08.03.2004
О спасибо.
Кидай сюда: [email]Sashusik_EntXXI@Mail.Ru[/email]

И вот ещё, что kernel.com (ядро) у меня в Windows правильно работает. Мож я тебе скину исходники, а ты посмотришь?
1.7K
29 ноября 2004 года
Envel
206 / / 29.11.2004
Цитата:
Originally posted by Sashusik
О спасибо.
Кидай сюда: [email]Sashusik_EntXXI@Mail.Ru[/email]

И вот ещё, что kernel.com (ядро) у меня в Windows правильно работает. Мож я тебе скину исходники, а ты посмотришь?


Ты случаем там сегменты не забыл установить?:-) При запуске из ОС тем более com программы все сегменты инициируются, а там у тебя, поди-ка полный бред. Проверь ds

5.5K
30 ноября 2004 года
Sashusik
13 / / 08.03.2004
Цитата:
Originally posted by Envel

Ты случаем там сегменты не забыл установить?:-) При запуске из ОС тем более com программы все сегменты инициируются, а там у тебя, поди-ка полный бред. Проверь ds



Наверняка забыл потому что я не знаю во что их надо ставить.
Покажи пожалуйста :))

И это в загрузчеке делать или в ядре?

1.7K
01 декабря 2004 года
Envel
206 / / 29.11.2004
Цитата:
Originally posted by Sashusik


Наверняка забыл потому что я не знаю во что их надо ставить.
Покажи пожалуйста :))

И это в загрузчеке делать или в ядре?


Бут-сектор считывается по адресу 7c000h, соответственно, сегменты надо инициировать 0, а лучше так же, как и cs:
mov ax,cs
mov es,ax
mov ds,ax
mov ss,ax
mov sp,7c00h

а потом уже все остальное:-) Что делать в ядре, а что в загрузчике - сам решай. Если загрузчик у тебя на дискете, то он ограничем размером 1 сектора (512 байт) много там не уместишь, можно только ядро считать или вторичный загрузчик, который уже все подготовит для ядра и считает его. А вообще, почитай статейки на http://www.lowlevel.ru/articles

5.5K
01 декабря 2004 года
Sashusik
13 / / 08.03.2004
Спасибо почитаю и попробую потом расскажу, что получаилось.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог