Previous Next

Register Manipulation Services

Register manipulation services are provided by the following functions. VDD can use these functions to get and set registers as needed to communicate with the 16-bit modules.

The register functions are very useful in a VDD if your modified 16-bit module calls the VDD directly (through DispatchCall), since the direct interface between an MS-DOS application and a VDD require certain arguments be passed in registers.

ULONG getEAX( ); VOID setEAX(ULONG);
USHORT getAX( ); VOID setAX(USHORT);
UCHAR getAL( ); VOID setAH(CHAR);
UCHAR getAH( ); VOID setAL(UCHAR);
ULONG getEBX( ); VOID setEBX(ULONG);
USHORT getBX( ); VOID setBX(USHORT);
UCHAR getBL( ); VOID setBH(UCHAR);
UCHAR getBH( ); VOID setBL(UCHAR);
ULONG getECX( ); VOID setECX(ULONG);
USHORT getCX( ); VOID setCX(USHORT);
UCHAR getCL( ); VOID setCH(UCHAR);
UCHAR getCH( ); VOID setCL(UCHAR);
ULONG getEDX( ); VOID setEDX(ULONG);
UCHAR getDH( ); VOID setDX(USHORT);
ULONG getESP( ); VOID setDH(UCHAR);
USHORT getSP( ); VOID setDL(UCHAR);
ULONG getEBP( ); VOID setESP(ULONG);
USHORT getBP( ); VOID setSP(USHORT);
ULONG getESI( ); VOID setEBP(ULONG);
USHORT getSI( ); VOID setBP(USHORT);
ULONG getEDI( ); VOID setESI(ULONG);
USHORT getDI( ); VOID setSI(USHORT);
ULONG getEIP( ); VOID setEDI(ULONG);
USHORT getIP( ); VOID setDI(USHORT);
USHORT getCS( ); VOID setEIP(ULONG);
USHORT getSS( ); VOID setIP(USHORT);
USHORT getDS( ); VOID setCS(USHORT);
USHORT getES( ); VOID setSS(USHORT);
USHORT getFS( ); VOID setDS(USHORT);
USHORT getGS( ); VOID setES(USHORT);
ULONG getCF( ); VOID setFS(USHORT);
ULONG getPF( ); VOID setGS(USHORT);
ULONG getAF( ); VOID setCF(ULONG);
ULONG getZF( ); VOID setPF(ULONG);
ULONG getSF( ); VOID setPF(ULONG);
ULONG getIF( ); VOID setAF(ULONG);
ULONG getDF( ); VOID setZF(ULONG);
ULONG getOF( ); VOID setSF(ULONG);
USHORT getMSW( ); VOID setIF(ULONG);
VOID setDF(ULONG); VOID setOF(ULONG);
VOID setMSW(USHORT);