Hi!
__O\_/_\_/O__
int absread(int DosDrive, int nsects, int foo, void *diskReadPacket);
#pragma aux absread = \
int 0x25 \
sbb ax, ax\
parm [ax] [cx] [dx] [bx] \
modify [si di bp] \
value [ax];
Hi, about the DOS uses 'int' 0x25/0x26 as CALL FAR, so you have to POPF
when you call it through INT thread:
Several compilers TRANSPARENTLY handle this. I think DJGPP is among them.
If you try to use the 25/26 ones through int, it will automatically
use DJGPP. Borland Turbo C has the absread()
Hi!
1--2004 10:54 [EMAIL PROTECTED] (Steve Gibson) wrote to
[EMAIL PROTECTED]:
Is using INT25/CX= always safe for all partitions - including small
(32M) and diskettes?
SG Yes, on all logical devices, so long as you have a FAT32-capable OS (ver
SG 7.0 or later)
I.e. using INT25/CX=-1
Hi!
1--2004 21:15 Arkady V.Belousov wrote to
[EMAIL PROTECTED]:
AVB __O\_/_\_/O__
AVB D-25-
AVB INT 25 - DOS 1+ - ABSOLUTE DISK READ (except partitions 32M)
AVB
Hi!
1--2004 19:40 [EMAIL PROTECTED] (Eric Auer) wrote to
[EMAIL PROTECTED]:
EA Hi, about the DOS uses 'int' 0x25/0x26 as CALL FAR, so you have to POPF
EA when you call it through INT thread:
EA Several compilers TRANSPARENTLY handle this.
Of course, they (should) transparently handle this
Hi Arkady!
EA use DJGPP. Borland Turbo C has the absread() and abswrite() functions to
EA do the access -
Firstly, these functions present only in BC (and TC?). Secondly, I
already quote RBIL, which says, that BC' absread()/abswrite() (which detects
size of partition through INT21/1C)
On Mon, 1 Mar 2004, Arkady V.Belousov wrote:
__O\_/_\_/O__
int absread(int DosDrive, int nsects, int foo, void *diskReadPacket);
#pragma aux absread = \
int 0x25 \
sbb ax, ax\
parm [ax] [cx] [dx]
Hi, now that Arkady has shown us that BC auto-selects absread style
for 32 MB / 32 MB, while TC does not: I have to conclude that
compiling my UNDELETE will only work in Turbo C, not in Borland C.
Because UNDELETE manually creates a 32 MB style access structure,
assuming that absread() is not
Hi!
1--2004 20:03 [EMAIL PROTECTED] (Bart Oldeman) wrote to
[EMAIL PROTECTED]:
#pragma aux absread = \
int 0x25 \
sbb ax, ax\
modify [si di bp] \
Isn't there should be added POPF after INT 25h/26h?
I mean, POP (for example, pop ax,ax).
BO there
Hi!
1--2004 21:05 [EMAIL PROTECTED] (Bart Oldeman) wrote to
[EMAIL PROTECTED]:
BO In the current sys it simply happens to work since the int 25/26 is
BO followed by mov sp, bp.
- BP itself should be preserved somewhere (because modify[]). Where if not
on stack?
BO that's a question for me
Hi!
Why reset_drive() calls INT21/32 (Get DOS DPB for specific drive)?
---
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps Web services for Linux with
a free DVD software kit from IBM. Click Now!
Hi!
1--2004 23:08 [EMAIL PROTECTED] (Eric Auer) wrote to
[EMAIL PROTECTED]:
EA Bad news for UNDELETE that Borland C (not Turbo C) seems to have an
EA absread() which auto-decides about access style. Using the 32 MB
EA style for drives which Borland C detected as 32 MB with int 21.1c
EA will
12 matches
Mail list logo