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

Ваш аккаунт

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

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

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

FAT32

78K
02 мая 2012 года
pashtet13
15 / / 02.05.2012
Всем доброго времени суток. Подскажите пожалуйста в чем проблема. В общем я форматирую флешку в FAT32. Затем переписываю первый сектор со смещения 0х5А своим кодом, то есть сразу за заголовком FAT32. В БИОСе устанавливаю загрузку с флешки. Мой код грузится, затем копирует себя в памяти на новый адрес. После этого он, через расширенный дисковый сервис (int13h ah,42) грузит сектор в память по адресу 0х7с00 и передает туда управление. При отладке на виртуальной машине Bochs все было замечательно, но на реальной машине не заработало. Я приделал вывод памяти 0х7с00 на экран. Тогда я увидел, что в память грузится не нужный мне сектор 140, а 77. 140-77=63 к 140 прибавил 63 получил 203.
 
Код:
;disk data packet
DDP db 10h                     ;size packet
      db 00h                     ;reserve
      db 01h                     ;quantity of sectors
      db 00h                     ;reserve
      dd 0x7c00                 ;buffer
      dq 203                      ;number sector
При запросе 203 сектора, в памяти оказывается нужный мне сектор. Как такое происходит? Откуда берутся эти 63 сектора?
260
03 мая 2012 года
Ramon
1.1K / / 16.08.2003
См. таблицу разделов в MBR.
252
05 мая 2012 года
koderAlex
1.4K / / 07.09.2005
разделы начинаются с 63 сектора .
если вы грузитесь с какого-либо раздела , то сначала надо прочитать таблицу разделов , найти свой раздел , затем прочитать файловую систему раздела или специальную секцию рездела , найти свой загрузчик и загрузить .
чтобы всё это проделать кроме мбр первые 62 сектора и выделяются .
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог