10 /* #define DEBUG_INT */
13 int do_int25(struct sigcontext_struct
*context
)
15 BYTE
*dataptr
= SAFEMAKEPTR(DS
, BX
);
19 begin
= getdword(dataptr
);
20 length
= getword(&dataptr
[4]);
21 dataptr
= (BYTE
*) getdword(&dataptr
[6]);
27 dprintf_int(stdnimp
, "int25: abs diskread, drive %d, sector %ld, "
28 "count %ld, buffer %d\n", (int)EAX
& 0xff, begin
, length
, (int) dataptr
);
30 memset(dataptr
, 0, length
* 512);
32 if (begin
== 0 && length
> 1)
33 *(dataptr
+ 512) = 0xf8;
40 /* push flags on stack */
42 setword(SAFEMAKEPTR(SS
,SP
), (WORD
) EFL
);