Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[ASM] Porty do obsługi dysku twardego

Ostatnio zmodyfikowano 2013-05-21 15:02
Autor Wiadomość
Brezniew
Temat założony przez niniejszego użytkownika
[ASM] Porty do obsługi dysku twardego
» 2013-05-20 22:13:21
Witam.
Pisę system operacyjny, już wiele rzeczy jest wykonanych ale pisząc bootloader nie mam satysfakcji przez kod:
mov ah, 2
mov al, 10
xor ch, ch
mov cl, 2
mov dh, 0
mov bx, 0x1000
mov es, bx
mov bx, 0
int 0x13

Ten kod ładuje 2 sektor na dysku(512b) pod adres 0x1000, moim celem jest całkowite uniezależnienie(nie wykorzystywanie) funkcji, przerwań i innych elementów zdefiniowanych w biosie a więc postanowiłem napisać prostą procedurę która by robiła to samo co powyższy kod. Zamierzam w tym celu wykorzystać porty o adresach od 0x320 do 0x32F, ale nie wiem gdzie wysłać odpowiednie danie i z kąt pobrać dane do załadowania pod adres 0x1000. Co do obsługi portów to wiem jak to działa, wielokrotnie ich używałem, co do tych portów to chodzi mi o konkretną strukturę danych rejestrów.
P-83451
DejaVu
» 2013-05-21 00:49:46
Napiszę do znajomego, który swego czasu pisał bootloadery na potęgę - może zabierze głos w Twoim temacie ;)
P-83468
Brezniew
Temat założony przez niniejszego użytkownika
» 2013-05-21 14:30:36
Dzięki. A co do tych adresów portów to nie jestem do końca do nich pewny, znalazłem też inne porty, ale nie mam debugera w emulatorze i nie mam możliwości przetestowania tych portów.
P-83498
Elaine
» 2013-05-21 14:48:48
P-83500
Brezniew
Temat założony przez niniejszego użytkownika
» 2013-05-21 15:02:00
@up No niby tak, ale ja muszę się zmieścić 446b a tamtego kodu tam nie upakuje, a ja potrzebuję tylko kodu do odczytania tych 512b z dysku. 2 problem to że nie mogę użyć kody c. Ale jeszcze poczytam może coś da się z tego wykorzystać. Na razie dzięki.
P-83504
« 1 »
  Strona 1 z 1