X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-bounces using -f From: "Jacky Luk" Newsgroups: comp.os.msdos.djgpp Subject: Re: Loading boot sector to memory Date: Sun, 21 Apr 2002 23:40:16 +0800 Organization: IMS Netvigator Lines: 68 Message-ID: References: NNTP-Posting-Host: pcd607253.netvigator.com X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com boot sector of hard disk C: "Jacky Luk" 撰寫於郵件新聞 :a9umfc$rgq3 AT imsp212 DOT netvigator DOT com... > INT 13 - DISK - READ SECTOR(S) INTO MEMORY > AH = 02h > AL = number of sectors to read (must be nonzero) > CH = low eight bits of cylinder number > CL = sector number 1-63 (bits 0-5) > high two bits of cylinder (bits 6-7, hard disk only) > DH = head number > DL = drive number (bit 7 set for hard disk) > ES:BX -> data buffer > Return: CF set on error > if AH = 11h (corrected ECC error), AL = burst length > CF clear if successful > AH = status (see #00234) > AL = number of sectors transferred (only valid if CF set for some > BIOSes) > Notes: errors on a floppy may be due to the motor failing to spin up quickly > enough; the read should be retried at least three times, resetting > the disk with AH=00h between attempts > most BIOSes support "multitrack" reads, where the value in AL > exceeds the number of sectors remaining on the track, in which > case any additional sectors are read beginning at sector 1 on > the following head in the same cylinder; the MSDOS CONFIG.SYS command > MULTITRACK (or the Novell DOS DEBLOCK=) can be used to force DOS to > split disk accesses which would wrap across a track boundary into two > separate calls > the IBM AT BIOS and many other BIOSes use only the low four bits of > DH (head number) since the WD-1003 controller which is the standard > AT controller (and the controller that IDE emulates) only supports > 16 heads > AWARD AT BIOS and AMI 386sx BIOS have been extended to handle more > than 1024 cylinders by placing bits 10 and 11 of the cylinder number > into bits 6 and 7 of DH > under Windows95, a volume must be locked (see INT 21/AX=440Dh/CX=084Bh) > in order to perform direct accesses such as INT 13h reads and writes > all versions of MS-DOS (including v7 [Win95]) have a bug which prevents > booting on hard disks with 256 heads, so many modern BIOSes provide > mappings with at most 255 heads > SeeAlso: AH=03h,AH=0Ah,AH=06h"V10DISK.SYS",AH=21h"PS/1",AH=42h"IBM" > SeeAlso: INT 21/AX=440Dh/CX=084Bh,INT 4D/AH=02h > > According to the above, how do you setup the registers for loading boot > sector to memory (GAS or GCC)? > > -- > ================================ > Always wear a grin on your face :) > Ha ha ha ha ha.... ha ha ha ha ha... ha ha ha ha > > Mr. Jacky Luk > (玩得興師傅) > > ICQ:140681957 > Messenger:luckiejacky AT hotmail DOT com > http://home.netvigator.com/~luckie > luckie AT netvigator DOT com > luckiejacky AT hotmail DOT com > > >