Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++ BUILD Version: 0001
Copyright (c) 1990 Microsoft Corporation
Module Name:
BOP.H
Abstract:
This module contains macro support for use of Bops in C code.
Author:
Dave Hastings (daveh) 25-Apr-1991
Revision History:
--*/
//
// Assigned Bop Numbers
//
#define BOP_DOS 0x50
#define BOP_WOW 0x51
#define BOP_XMS 0x52
#define BOP_DPMI 0x53
#define BOP_CMD 0x54
#define BOP_DEBUGGER 0x56
#define BOP_REDIR 0x57 // used to be 55, now goes to MS_bop_7()
#define BOP_NOSUPPORT 0x59 // host warning dialog box
#define BOP_WAITIFIDLE 0x5A // idle bop
#define BOP_DBGBREAKPOINT 0x5B // does a 32 bit DbgBreakPoint
#define BOP_DEVICES 0x5C // Devices internal to host\src
#define BOP_VIDEO 0x5D // BUGBUG temporary
#define BOP_NOTIFICATION 0x5E // 16bits to 32 bits notification
#define BOP_UNIMPINT 0x5F // BUGBUG temporary
#define BOP_SWITCHTOREALMODE 0xFD
#define BOP_UNSIMULATE 0xFE // end execution of code in a vdm
#define SVC_DEVICES_MSCDEXINIT 0x00
#define SVC_DEVICES_MSCDEX 0x01
#define SVC_DEVICES_LASTSVC 0x02
#define BOP_SIZE 3 // # of bytes in a bop instruction
//
// Bop Macro
//
/* XLATOFF */
#define BOP(BopNumber) _asm db 0xC4, 0xC4, BopNumber
/* XLATON */
/* ASM
BOP macro BopNumber db 0C4h, 0C4h, BopNumber endm
IFNDEF WOW_x86 FBOP macro BopNumber,BopMinorNumber,FastBopEntry BOP BopNumber ifnb <BopMinorNumber> db BopMinorNumber endif endm ELSE FBOP macro BopNumber,BopMinorNumber,FastBopEntry local fb10,fb20 test word ptr [FastBopEntry + 4],0FFFFh jz fb10 .386p push ds push 40h pop ds test ds:[FIXED_NTVDMSTATE_REL40],RM_BIT_MASK pop ds jnz short fb10 call fword ptr [FastBopEntry]
db BopNumber ; indicates which bop ifnb <BopMinorNumber> db BopMinorNumber endif jmp short fb20
.286p fb10: BOP BopNumber ifnb <BopMinorNumber> db BopMinorNumber endif fb20: endm endif */
|