OSDev

для всех
Текущее время: 27 апр 2024, 11:56

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 129 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 13  След.
Автор Сообщение
 Заголовок сообщения: Re: Загрузка с флешки
СообщениеДобавлено: 14 ноя 2011, 11:18 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
pavia писал(а):
Так вот на флешке mbr используется int 13h функция ah=02
А если флешка больше 8 гиг? Уже неоднократно говорилось, что загрузчики для флешки и харда должны быть идентичными (забудем про USB-FDD, т.к. сейчас если и используют флешку без MBR, то только как "superfloppy"). А такие загрузчики используют в первую очередь функцию 42h и только для совместимости/универсальности функцию 2.

Цитата:
Фантом писал не про Z-буфер, а про Z-порядок(алгоритм художника).
+1, не обратил внимания.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка с флешки
СообщениеДобавлено: 15 ноя 2011, 05:09 
Заблокирован

Зарегистрирован: 28 окт 2011, 12:14
Сообщения: 555
Откуда: Новосибирск
Да функцию 42h использовать будет поудачнее, может с ней получится

org 7C00h
use16

mov dl, 80h
mov si, lba
mov ah, 42h
int 13h


mov ah,14
mov bx,H
mov al,[bx]
int 10h
inc bx
mov al,[bx]
int 10h
inc bx
mov al,[bx]
int 10h
inc bx
mov al,[bx]
int 10h

jmp 0000:8600h


H db 'Helooo'
lba db 10h
db 00h
db 01h
db 00h
dd 00008600h
dq 0000000000000002h ;значит один второй сектор в память 0000:8600h
rb 510-($-7c00h)
db 055h, 0AAh

пока так тоже не получается, блин простую функцию вызвать не могу!! бред какойто
Слово Helo пишется


Последний раз редактировалось Станислав 15 ноя 2011, 15:39, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка с флешки
СообщениеДобавлено: 15 ноя 2011, 13:06 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Это весь код?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка с флешки
СообщениеДобавлено: 16 ноя 2011, 07:13 
Заблокирован

Зарегистрирован: 28 окт 2011, 12:14
Сообщения: 555
Откуда: Новосибирск
После входа в зашишеный режим прерываний биуса небудет
надо грузить всё, что нужно в верхнюю память сразу после загрузчика?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка с флешки
СообщениеДобавлено: 16 ноя 2011, 12:20 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Зачем спрашиваешь если не прислушиваешься к советам? Я тебе в начале темы запостил примерный код инициализации (и подпрограмму для вывода строки символов!!!). Где настройка стека? Где настройка сегментных регистров? Также нет гарантии, что для флешки будет dl=80h. Попробуй использовать значение, переданное BIOS в регистре dl. Обрабатывай возможные ошибки и т.п. Это OSDev-форум, а не факультативные занятия по системному программированию.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка с флешки
СообщениеДобавлено: 16 ноя 2011, 12:57 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
И вообще, тема не теоретическая, а практическая, так что предприму героическую попытку её переместить...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка с флешки
СообщениеДобавлено: 16 ноя 2011, 17:31 
Заблокирован

Зарегистрирован: 28 окт 2011, 12:14
Сообщения: 555
Откуда: Новосибирск
phantom-84 писал(а):
Зачем спрашиваешь если не прислушиваешься к советам? Я тебе в начале темы запостил примерный код инициализации (и подпрограмму для вывода строки символов!!!). Где настройка стека? Где настройка сегментных регистров? Также нет гарантии, что для флешки будет dl=80h. Попробуй использовать значение, переданное BIOS в регистре dl. Обрабатывай возможные ошибки и т.п. Это OSDev-форум, а не факультативные занятия по системному программированию.

Я пробовал и без mov dl, 80h
подпрограмму для вывода строки символов мне не нужна я ввожу символы для проверки, что хоть чтото делается, потом убиру вывод этих символов.
Т.е сектор может не читаться из за того, что нету настройки стека и сегментных регистров?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка с флешки
СообщениеДобавлено: 16 ноя 2011, 17:45 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Он может читаться не туда, не с того устройства, данные могут портиться стековыми операциями и т.д. и т.п.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка с флешки
СообщениеДобавлено: 16 ноя 2011, 18:12 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Что касается чтения... Алгоритм выбора функции для чтения примерно такой: если расширение для конкретного устройства присутствует и младший бит cx установлен, то читать сектор при помощи функции 42h, иначе читать сектор при помощи функции 2 (при необходимости предварительно оттранслировав LBA в CHS (1 в 0/0/2) и получив значения Heads и SectorsPerTrack, необходимые для трансляции, при помощи функции 8).

Кстати второй сектор диска при линейной нумерации имеет номер 1.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка с флешки
СообщениеДобавлено: 21 ноя 2011, 07:16 
Заблокирован

Зарегистрирован: 28 окт 2011, 12:14
Сообщения: 555
Откуда: Новосибирск
phantom-84 писал(а):
Он может читаться не туда, не с того устройства, данные могут портиться стековыми операциями и т.д. и т.п.


Действительно если не настроим регистр ds на 0, то чтение 42 функии идет в ds:si и может уйти не туда
такая настройка думаю подойдет
xor ax,ax
mov ds,ax
mov es,ax
mov ss,ax
mov sp,0x7C00 но информачия не читается
думаю нужно разобраться с пакетом

lba db 10h ;размер 16 ещё можно 18
db 00h
db 3 ;3 сектора
db 00h
dw 0000h ;регистр ds
dw 8200h
dd 1 здесь по одной информации лба1
dd 0 здесь лба2, встречается информация что этот адрес как qd и записывается просто номер сектора
dq 0000000000000000h ;если размер 18


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 129 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 13  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB