7 int do_int25(struct sigcontext_struct
*context
)
9 BYTE
*dataptr
= pointer(DS
, BX
);
13 begin
= getdword(dataptr
);
14 length
= getword(&dataptr
[4]);
15 dataptr
= (BYTE
*) getdword(&dataptr
[6]);
21 fprintf(stderr
, "int25: abs diskread, drive %d, sector %d, "
22 "count %d, buffer %d\n", EAX
& 0xff, begin
, length
, (int) dataptr
);
24 memset(dataptr
, 0, length
* 512);
26 if (begin
== 0 && length
> 1)
27 *(dataptr
+ 512) = 0xf8;
34 /* push flags on stack */
36 setword(pointer(SS
,SP
), (WORD
) EFL
);