#include <dpmi.h> int _go32_dpmi_simulate_fcall_iret(_go32_dpmi_registers *regs);
See section DPMI Overview
This function simulates a real-mode far call to a function that returns
with an iret
instruction. The registers are set up from
regs, including CS
and IP
, which indicate the
address of the call. Any registers the function modifies are reflected
in regs on return.
If SS
and SP
are both zero, a small temporary stack is
used when in real mode. If not, they are used as is. It's a good
idea to use memset
to initialize the register structure before
using it.
Zero on success, nonzero on failure.
not ANSI, not POSIX
_go32_dpmi_registers r; r.x.ax = 47; r.x.cs = some_segment; r.x.ip = some_offset; r.x.ss = r.x.sp = 0; _go32_dpmi_simulate_fcall_iret(&r); printf("returns %d\n", r.x.ax);
Go to the first, previous, next, last section, table of contents.