7 /* #define DEBUG_INT */
11 int do_int25(struct sigcontext_struct
*context
)
13 BYTE
*dataptr
= pointer(DS
, BX
);
17 begin
= getdword(dataptr
);
18 length
= getword(&dataptr
[4]);
19 dataptr
= (BYTE
*) getdword(&dataptr
[6]);
25 dprintf_int(stdnimp
, "int25: abs diskread, drive %d, sector %d, "
26 "count %d, buffer %d\n", EAX
& 0xff, begin
, length
, (int) dataptr
);
28 memset(dataptr
, 0, length
* 512);
30 if (begin
== 0 && length
> 1)
31 *(dataptr
+ 512) = 0xf8;
38 /* push flags on stack */
40 setword(pointer(SS
,SP
), (WORD
) EFL
);