Пятница, 29.03.2024, 00:58 Приветствую вас Гость | Группа "Гости" 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Neo, xXxSh@dowxXx  
delphicode » Обсуждения » Остальные языки программирования » [FASM] Boot manager
[FASM] Boot manager
NeoДата: Вторник, 08.05.2012, 06:30 | Сообщение # 1
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 317
Статус: Offline
Захотел как-то я написать свой манаджер загрузки ОС с дискеты.
Не долго думая,я написал тестовый пример,суть вот в чём:
при загрузки bios считывает 1 сектор диска(или дискеты,смотря как выбрать) в память по адресу
0000:7c00h,а потом запускает всё это,так же ведь?
У меня на дискете первый сектор вот какой:
Code

org 07C00h
main:
         cli         
         mov ax,cs
         mov ds,ax
         mov sp,0FFFFh
         sti

         mov ah,0Ah          
         mov al,'1'
         mov bh,0
         mov cx,10
         int 10h       ;выожу на экран очень смысловое сообщение(10 единичек)
                 
         mov ah,2              
         mov bh,0
         mov dh,2
         mov dl,0
         int 10h       ;переношу курсор на другую строку         

         xor ax,ax             
         int 16h       ;жду нажатие с клавиатуры

         mov ax,8600h
         mov es,ax    ; Cегмент куда загружать буду настоящийй загрузчик

         xor bx,bx
         mov ah,2          
         mov al,1       ;читаем всего 1 сектор
         xor ch,ch      ;номер цилиндра
         mov cl,1       ;читаем нулевой 0 сектор (1-1)
         mov dl,80h     ;С:\         
         xor dh,dh      ;номер головки
         int 13h

         jmp far 0:8600h       ; прыгаю на виндовый загрузчик
times 510-($-main) db 0       ;выравнивание         
dw 0AA55h        ;любимые байты biosa         

По идее должно быть так:
Биос читает этот код с дистеты,потом выполняется прочитанный код(вижу единички,жму кнопку на клаве),а
этот код читает первый "виндовый" сектор и джампает на него.Должна грузиться винда.Но вместо этого,после
сообщения и нажатия кнопки,длинный горизонтальный куроср и всё.
Вопрос: п о ч е м у?
-------------------------------------------------------------------------------------------------------------------------------------------- -----------------
P.S
Нашёл статью на Хакере,там на диске к статье,есть исходники,которые мне бы очень помогли.(ge2000.asm,mbr.asm,boot.asm)Но где бы найти этот диск?Может у кого есть такие сорсы?
 
delphicode » Обсуждения » Остальные языки программирования » [FASM] Boot manager
  • Страница 1 из 1
  • 1
Поиск:

delphicode.ru © 2008 - 2024 Хостинг от uCoz