OSDev

для всех
Текущее время: 24 авг 2025, 02:46

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




Начать новую тему Ответить на тему  [ Сообщений: 131 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8, 9, 10 ... 14  След.
Автор Сообщение
 Заголовок сообщения: Re^2: Файловая система для флешки
СообщениеДобавлено: 20 окт 2008, 14:48 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
У тебя программа начинается с кода _error:, а BIOS как раз запускает программу с самого первого байта, поэтому у тебя с самого начала исполняется код печати ошибки. Надо или код вместе с _error: переместить вниз, или поставить перед ним команду jmp _start.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файловая система для флешки
СообщениеДобавлено: 20 окт 2008, 15:04 
Что-то не пойму никак... Покажи на примере.


Вернуться к началу
  
 
 Заголовок сообщения: Re^2: Файловая система для флешки
СообщениеДобавлено: 20 окт 2008, 15:14 

Зарегистрирован: 22 май 2007, 15:29
Сообщения: 283
Код:
section .text

_start:
mov ah, 42h
mov dl, 80h
mov si, dap
int 13h
jc _error

mov ah, 0x0E
mov al, 0x29
int 0x10

_exit: jmp _exit

global _start

_error:

mov al, 0x28
call _kputchar
jmp _exit

_kputchar:
pusha
mov ah, 0x0E
int 0x10
popa
ret

section .data

msg_error db "Error!"

dap:
packet_size db 10h
reserved db 00h
N_SEC dw 01h
buff_seg dw 00h
buff_off dw buff
X_SEC dd 0
dd 0

section .bss

buff resb 512


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файловая система для флешки
СообщениеДобавлено: 20 окт 2008, 15:22 
Ну и? Все равно вылазит грустный смайл, что означает, что данные с диска не считаны...


Вернуться к началу
  
 
 Заголовок сообщения: Re^2: Файловая система для флешки
СообщениеДобавлено: 20 окт 2008, 15:24 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
У тебя стоял код _error перед _start. Запуск программы идёт с самого начала, а не там где ты _start пишешь, BIOS на _start не обращает внимания. То что стоит первым, с того и запускается программа. Чтобы не путаться, убери метку _start совсем, а просто напиши комментарий "Начало программы" в самом начале кода.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файловая система для флешки
СообщениеДобавлено: 20 окт 2008, 15:32 
Я откомпилил тот код, что ты дал... Он тоже выдает сообщение об ошибке.

Блин, вот почему про LBA нигде ничего не написано ((((( А если и написано, то таким языком, что нужно писать по 10 операционок в день, чтобы понять как оно работает. Ну и разумеется ни один пример не работоспособен ((


Вернуться к началу
  
 
 Заголовок сообщения: Re^2: Файловая система для флешки
СообщениеДобавлено: 20 окт 2008, 15:42 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Нет, в самом последнем примере, который написал grindars, при удачном чтении печатается ( а при ошибочном * , так что всё нормально.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файловая система для флешки
СообщениеДобавлено: 20 окт 2008, 15:47 
0_o т.е. ты собрал его и проверил? При ошибке должно выдаваться ( (код 0х28), а при успехе ) (код 0х29) Или в виртуальной машине и на реальной эти коды различаются?


Вернуться к началу
  
 
 Заголовок сообщения: Re^3: Файловая система для флешки
СообщениеДобавлено: 20 окт 2008, 15:49 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1209
В адресе вида segment:offset первым идет offset


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re^4: Файловая система для флешки
СообщениеДобавлено: 20 окт 2008, 15:53 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1209
...кроме того сегментные регистры и стек не мешало бы сначала проинициализировать.


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

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


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

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


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

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