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);