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.

118 lines
1.7 KiB

  1. ;***
  2. ;cmphlp.inc - include to aid in generating compiler helpers
  3. ;
  4. ; Copyright (c) 1987-1998 Microsoft Corporation
  5. ;
  6. ;Purpose:
  7. ; This file is a compiler helper include to aid in generating
  8. ; backwards compatible compiler helpers.
  9. ;
  10. ;*******************************************************************************
  11. callnahlpr MACRO nm ;;call non-assigning helper
  12. if sizeC
  13. push cs
  14. call near ptr __aF&nm
  15. else
  16. call near ptr __aN&nm
  17. endif
  18. ENDM
  19. DFLT MACRO tag,prfx,nm
  20. externP _a&prfx&tag&nm
  21. cProc _&tag&nm,<PUBLIC>,<>
  22. cBegin nogen
  23. jmp _a&prfx&tag&nm
  24. cEnd nogen
  25. ENDM
  26. DFLT2 MACRO tag,prfx,nm
  27. externP _a&prfx&tag&nm
  28. cProc _&tag&u&nm,<PUBLIC>,<>
  29. cBegin nogen
  30. cEnd nogen
  31. cProc _&tag&nm,<PUBLIC>,<>
  32. cBegin nogen
  33. jmp _a&prfx&tag&nm
  34. cEnd nogen
  35. ENDM
  36. ASGN MACRO nm ;;macro to fix up entry sequence of non
  37. ;;assigning code helpers
  38. if sizeC
  39. cProc _aF&nm,<PUBLIC>,<>
  40. cBegin
  41. else
  42. cProc _aN&nm,<PUBLIC>,<>
  43. cBegin
  44. endif
  45. ENDM
  46. aASGN MACRO nm ;;macro to fix up entry sequence of assigning
  47. ;;code helpers
  48. if memL eq 1
  49. externP _aF&nm
  50. cProc _aFFa&nm,<PUBLIC>,<>
  51. cBegin
  52. endif
  53. if memM eq 1
  54. externP _aF&nm
  55. cProc _aFNa&nm,<PUBLIC>,<>
  56. cBegin
  57. endif
  58. if memC eq 1
  59. externP _aN&nm
  60. cProc _aNFa&nm,<PUBLIC>,<>
  61. cBegin
  62. endif
  63. if memS eq 1
  64. externP _aN&nm
  65. cProc _aNNa&nm,<PUBLIC>,<>
  66. cBegin
  67. endif
  68. ENDM
  69. OLDSLEAZ MACRO
  70. ifdef lhdiff
  71. OLDASGN hdiff
  72. endif
  73. ifdef llshl
  74. OLDASGN lshl
  75. endif
  76. ifdef llshr
  77. OLDASGN lshr
  78. endif
  79. ifdef lulshr
  80. OLDASGN ulshr
  81. endif
  82. ifdef lldiv
  83. OLDASGN ldiv
  84. endif
  85. ifdef llmul
  86. OLDASGN2 lmul
  87. endif
  88. ifdef llrem
  89. OLDASGN lrem
  90. endif
  91. ifdef luldiv
  92. OLDASGN uldiv
  93. endif
  94. ifdef lulrem
  95. OLDASGN ulrem
  96. endif
  97. ENDM