Mail Archives: djgpp/2001/04/22/17:30:58
Message-ID: | <3AE34C5A.CDD4F2E5@jps.net>
|
From: | Dennis Yelle <dennis51 AT jps DOT net>
|
X-Mailer: | Mozilla 4.75 [en] (Win98; U)
|
X-Accept-Language: | en
|
MIME-Version: | 1.0
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | int86 problems
|
Lines: | 49
|
Date: | Sun, 22 Apr 2001 14:25:46 -0700
|
NNTP-Posting-Host: | 216.119.23.97
|
X-Complaints-To: | abuse AT onemain DOT com
|
X-Trace: | nntp2.onemain.com 987974427 216.119.23.97 (Sun, 22 Apr 2001 17:20:27 EDT)
|
NNTP-Posting-Date: | Sun, 22 Apr 2001 17:20:27 EDT
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
Reply-To: | djgpp AT delorie DOT com
|
I would like to call int 0x21 to get the disk's
device parameters.
Microsoft, here:
http://msdn.microsoft.com/library/psdk/winbase/fat32_1bu8.htm
says that I should do this:
> mov bx, Drive ;See below
> mov ch, DeviceCat ;See below
> mov cl, 60h ;Get device parameters
> mov dx, seg DriveDP ;See below
> mov ds, dx
> mov dx, offset DriveDP ;ds:dx points to a device parameters structure
> mov ax, 440Dh ;IOCTL for block device
> int 21h
>
> jc error_handler ;carry set means error
That is fine, except for the segment number
that they want in ds.
info tells me this about int86:
> This function simulates a software interrupt. Note that, unlike the
> `__dpmi_int' function, requests that go through `int86' and similar
> functions are specially processed to make them suitable for invoking
> real-mode interrupts from protected-mode programs. For example, if a
> particular routine takes a pointer in `BX', `int86' expects you to put
> a (protected-mode) pointer in `EBX'. Therefore, `int86' should have
> specific support for every interrupt and function you invoke this way.
> Currently, it supports only a subset of all available interrupts and
> functions:
>
> 1) All functions of any interrupt which expects only scalar arguments
> registers (i.e., no pointers to buffers).
>
> 2) In addition, the following functions of interrupt 21h are supported:
> 9, 39h, 3Ah, 3Bh, 3Ch, 3Dh, 3Fh, 40h, 41h, 43h, 47h, 56h.
So I see that 44h is NOT one of the supported functions.
What is the best, (or any) way to do this?
Dennis Yelle
--
I am a computer programmer and I am looking for a job.
There is a link to my resume here:
http://table.jps.net/~vert/
- Raw text -