Source code of Windows XP (NT5)
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

  1. ; Copyright (c) Microsoft Corporation 1988-1991. All Rights Reserved.
  2. ;****************************************************************
  3. ;* *
  4. ;* WOWMAC.INC - Macros to do wow specific stuff *
  5. ;* *
  6. ;****************************************************************
  7. ;* *
  8. ;* Module Description: *
  9. ;* This module contains macros to hide the 386 specific *
  10. ;* stuff in the dos extender. In general, these macros *
  11. ;* expand to the original code for non-386, and special *
  12. ;* code for 386 *
  13. ;****************************************************************
  14. ;
  15. ; These two macros are used by the dos extender to hide the differences
  16. ; in building a dosx stack frame from a 32 bit frame and from a 16 bit frame
  17. ;
  18. EnterInt macro
  19. ifdef WOW_x86
  20. call [pfnEnterIntHandler]
  21. else
  22. call EnterIntHandler
  23. endif
  24. endm
  25. LeaveInt macro
  26. ifdef WOW_x86
  27. call [pfnLeaveIntHandler]
  28. else
  29. call LeaveIntHandler
  30. endif
  31. endm
  32. ;
  33. ; These two macros are used to hide the difference in the int stack frame
  34. ; as used by the routines which switch to real mode to call int routines.
  35. ;
  36. pushaw macro
  37. ifdef WOW_x86
  38. .386p
  39. pushad
  40. .286p
  41. else
  42. pusha
  43. endif
  44. endm
  45. popaw macro
  46. ifdef WOW_x86
  47. .386p
  48. popad
  49. .286p
  50. else
  51. popa
  52. endif
  53. endm