delorie.com/archives/browse.cgi   search  
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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019