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.
Příspěvky odeslané z IP adresy 86.49.117.–
hkmaly