Mail Archives: djgpp/2002/04/21/12:00:14
X-Authentication-Warning: | delorie.com: mailnull set sender to djgpp-bounces using -f
|
From: | "Jacky Luk" <luckie AT netvigator DOT com>
|
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: | <a9umpo$rgl3@imsp212.netvigator.com>
|
References: | <a9umfc$rgq3 AT imsp212 DOT netvigator DOT com>
|
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" <luckie AT netvigator DOT com> ¼¶¼g©ó¶l¥ó·s»D
: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
> (ª±±o¿³®v³Å)
>
> ICQ:140681957
> Messenger:luckiejacky AT hotmail DOT com
> http://home.netvigator.com/~luckie
> luckie AT netvigator DOT com
> luckiejacky AT hotmail DOT com
>
>
>
- Raw text -