Тема: Загрузчик
Показать сообщение отдельно

  #8  
Старый 25.05.2008, 12:39
0verbreaK
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме:
379101

Репутация: 136
По умолчанию

Загрузка сектора:

- получаем номер сектора dx:ax
- преобразуем его к CSH (цилиндр, сектор, сторона)
- используем прерывание BIOS int 13h

Пишем свой загрузочный сектор http://www.cyberguru.ru/programming/assembler/assembler-boot-sector.html

Код:
PB_BytsPerSec dw 0x200 ; Байт на сектор
BPB_SecPerClus db 1 ; Секторов на кластер
BPB_RsvdSecCnt dw 1 ; Число резервных секторов
BPB_NumFATs db 2 ; Количектво копий FAT
BPB_RootEntCnt dw 224 ; Элементов в корневом катологе (max)
BPB_TotSec16 dw 2880 ; Всего секторов или 0
BPB_Media db 0xF0 ; код типа устройства
BPB_FATsz16 dw 9 ; Секторов на элемент таблицы FAT
BPB_SecPerTrk dw 18 ; Секторов на дорожку
BPB_NumHeads dw 2 ; Число головок
BPB_HiddSec dd 0 ; Скрытых секторов
BPB_TotSec32 dd 0 ; Всего секторов или 0
Все зависит от файловой системы, на дискетах по моему FAT12/16
 
Ответить с цитированием