#include <dpmi.h> int _go32_dpmi_simulate_fcall(_go32_dpmi_registers *regs);
See section DPMI Overview
This function simulates a real-mode far call to a function that returns
with a far return. 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(&r); printf("returns %d\n", r.x.ax);
Go to the first, previous, next, last section, table of contents.