Anonymní profil hkmaly – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil hkmaly – Programujte.comAnonymní profil hkmaly – Programujte.com

 

Příspěvky odeslané z IP adresy 86.49.117.–

hkmaly
Assembler › LBA32 v čistém assambleru pr…
8. 9. 2009   #115713

Proc vynalezas kolo? <a href=""http://freshmeat.net/projects/lilo/>LILO</a>, <a href="http://www.gnu.org/software/grub/">grub</a>. Nicmene, pokud na tom trvas ...

; funkce na přečtení 2. sektoru boot zařízení do 0:8000
xor ax,ax
mov es,ax
mov bx.8000h
MOV AH,42H ; funkce pro čtení dat LBA
MOV DL,80H ; disk
MOV SI,LBA ; ofsetová část struktury
MOV [Adr+2],ES ; segmentová cílová adresa
MOV [Adr+0],BX ; ofsetová cílová adresa
mov [VelBlk],1 ; pocet sektoru
mov [Pozice],1 ; cislo sektoru (pocitano od 0 pokud se nepletu)
mov [Pozice+4],0 ; vyssi byte cisla sektoru
INT 13H ; volání služby BIOSu
NOP ; prázdná instrukce

...

LBA: ; struktura LBA paketu
VelPack DB 10H ; velikost paketu
Rez DB 00H ; rezervováno
VelBlk DW 0001H ; velikost bloku k přenosu
Adr DD 00000000H ; cílová adresa buferu
Pozice dd 0,0 ; hodnota LBA32
AdrEMS dd 0,0 ; adresa rozšířené paměti



....

a mimochodem, to EMS zni jako ze kdyz ho pouzijes (coz tenhle kod nedela) bude stejne prechazet do toho chraneneho modu a navic ze ti to nebude bez DOSu fungovat. Pokud chces byt vazne frajer, nepouzivej BIOS vubec, nastuduj si <a href="http://suif.stanford.edu/~csapuntz/specs/idems100.ps">IDE Bus-master DMA</a> a jak ho zapnout na svem chipsetu a delej to rovnou z chraneneho modu.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032021 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý