#pragma inline struct { int contrl[15]; int global[80]; int intin[128]; int intout[45]; int ptsout[128]; void *addrin[128]; void *addrout[6]; int ptsin[128]; } _GemParBlk; #define contrl _GemParBlk.contrl #define global _GemParBlk.global #define intin _GemParBlk.intin #define ptsin _GemParBlk.ptsin #define intout _GemParBlk.intout #define ptsout _GemParBlk.ptsout #define addrin _GemParBlk.addrin #define addrout _GemParBlk.addrout int *vdipb[] = { contrl, intin, ptsin, intout, ptsout }; struct { int *Contrl, *Global, *Intin, *Intout; void **Addrin, **Addrout; } aespb = { contrl, global, intin, intout, addrin, addrout }; void CALL_VDI( void ) { asm push ds asm mov dx,seg vdipb asm mov ds,dx asm mov dx,offset vdipb asm mov cx,473h asm int 0EFh asm pop ds } void CALL_AES( void ) { asm push es asm mov ax,seg aespb asm mov es,ax asm mov bx,offset aespb asm mov cx,0C8h asm mov dx,0 asm int 0EFh asm pop es }