mirror of https://github.com/tongzx/nt5src
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.
59 lines
1.5 KiB
59 lines
1.5 KiB
; Copyright (c) Microsoft Corporation 1988-1991. All Rights Reserved.
|
|
|
|
;****************************************************************
|
|
;* *
|
|
;* WOWMAC.INC - Macros to do wow specific stuff *
|
|
;* *
|
|
;****************************************************************
|
|
;* *
|
|
;* Module Description: *
|
|
;* This module contains macros to hide the 386 specific *
|
|
;* stuff in the dos extender. In general, these macros *
|
|
;* expand to the original code for non-386, and special *
|
|
;* code for 386 *
|
|
;****************************************************************
|
|
|
|
;
|
|
; These two macros are used by the dos extender to hide the differences
|
|
; in building a dosx stack frame from a 32 bit frame and from a 16 bit frame
|
|
;
|
|
EnterInt macro
|
|
ifdef WOW_x86
|
|
call [pfnEnterIntHandler]
|
|
else
|
|
call EnterIntHandler
|
|
endif
|
|
endm
|
|
|
|
LeaveInt macro
|
|
ifdef WOW_x86
|
|
call [pfnLeaveIntHandler]
|
|
else
|
|
call LeaveIntHandler
|
|
endif
|
|
endm
|
|
|
|
;
|
|
; These two macros are used to hide the difference in the int stack frame
|
|
; as used by the routines which switch to real mode to call int routines.
|
|
;
|
|
|
|
pushaw macro
|
|
ifdef WOW_x86
|
|
.386p
|
|
pushad
|
|
.286p
|
|
else
|
|
pusha
|
|
endif
|
|
endm
|
|
|
|
popaw macro
|
|
ifdef WOW_x86
|
|
.386p
|
|
popad
|
|
.286p
|
|
else
|
|
popa
|
|
endif
|
|
endm
|