Solved

Loading Boot Sector to buffer

Posted on 2002-04-21
4
475 Views
Last Modified: 2008-02-01
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 (of Hardisk C:) to memory (GAS or GCC)?

Regards,
Jacky
0
Comment
Question by:luckie
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 11

Accepted Solution

by:
dimitry earned 100 total points
ID: 6958151
In order to read boot sector from C: with INT 13h you need to set next values:
AH = 02h
AL = 1
CH = 0
CL = 1
DH = 1
DL = 0x80
ES:BX = pointer to 512 bytes buffer

But if you want only to see the contents I suggest you to use DiskEditor, for example from:
http://www.sf-soft.de/winhex/index-m.html

0
 
LVL 49

Expert Comment

by:DanRollins
ID: 6959266
I think it is likely that you will need to set DH to 0.

-- Dan
0
 
LVL 11

Expert Comment

by:dimitry
ID: 6959289
If you want to read MBR then Dan is absolutely right:
DH should be 0. But if you want to read boot sector of first partition you need to set DH to 1.
0
 

Author Comment

by:luckie
ID: 6959295
Ok. That will do... Thanks
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
How to check what program libraries are trying to opened  a .exe program ??? 5 1,068
Mainframe Assembler 9 752
query on MOV assembly instruction 6 583
What does this assembly code do 4 455
Did you know that more than 4 billion data records have been recorded as lost or stolen since 2013? It was a staggering number brought to our attention during last week’s ManageEngine webinar, where attendees received a comprehensive look at the ma…
Recently, Microsoft released a best-practice guide for securing Active Directory. It's a whopping 300+ pages long. Those of us tasked with securing our company’s databases and systems would, ideally, have time to devote to learning the ins and outs…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

696 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question