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.

102 lines
1.4 KiB

  1. ;***
  2. ;mrt386.inc - include to aid in generating 386 code
  3. ;
  4. ; Copyright (c) 1988-2001, Microsoft Corporation. All rights reserved.
  5. ;
  6. ;Purpose:
  7. ; This file reproduces a few of the cMacro macros.
  8. ;
  9. ;Revision History:
  10. ; 08-24-88 WAJ Initial version.
  11. ;
  12. ;*******************************************************************************
  13. ifdef I386 ; Define Near Code Pointer
  14. DNCPTR equ <dd>
  15. else
  16. DNCPTR equ <dw>
  17. endif
  18. ifdef I386
  19. if sizeD
  20. DPWORD equ <fword>
  21. else
  22. DPWORD equ <dword>
  23. endif
  24. DFPWORD equ <fword>
  25. DNPWORD equ <dword>
  26. else ;not I386
  27. if sizeD
  28. DPWORD equ <dword>
  29. else
  30. DPWORD equ <word>
  31. endif
  32. DFPWORD equ <dword>
  33. DNPWORD equ <word>
  34. endif ;not I386
  35. ifdef I386
  36. if sizeC
  37. CPWORD equ <fword>
  38. else
  39. CPWORD equ <dword>
  40. endif
  41. CFPWORD equ <fword>
  42. CNPWORD equ <dword>
  43. else ;not I386
  44. if sizeC
  45. CPWORD equ <dword>
  46. else
  47. CPWORD equ <word>
  48. endif
  49. CFPWORD equ <dword>
  50. CNPWORD equ <word>
  51. endif ;not I386
  52. MOVRW macro reg, word ;; move a word into a register
  53. ifdef I386
  54. % movzx reg, (word)
  55. else
  56. % mov reg, (word)
  57. endif
  58. endm
  59. ifdef I386
  60. RBXONLY equ <rbx>
  61. RBXUSED equ <rbx>
  62. else ;not I386
  63. RBXONLY equ <nothing>
  64. RBXUSED equ <>
  65. endif ;not I386
  66. ifdef I386
  67. ife sizeC
  68. ife sizeD
  69. FLAT386 equ <DEFINED>
  70. endif
  71. endif
  72. endif
  73. ifflat macro code
  74. ifdef FLAT386
  75. code
  76. endif
  77. endm
  78. noflat macro code
  79. ifndef FLAT386
  80. code
  81. endif
  82. endm