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