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.

87 lines
1.8 KiB

  1. ;***
  2. ;memmacs.inc - defines macros to to handle different memory models easier.
  3. ;
  4. ; Copyright (c) 1989-2001, Microsoft Corporation. All rights reserved.
  5. ;
  6. ;Purpose:
  7. ; This file defines the macros that handle different memory models.
  8. ;
  9. ;Revision History:
  10. ;
  11. ; 01-23-89 WAJ Initial version copied from cruntime.inc
  12. ; 11-01-89 WAJ Added IWORD/ISIZE
  13. ; 11-01-89 WAJ Added PCS
  14. ; 11-01-89 WAJ Added short condition jmps for 386 code
  15. ;
  16. ;*******************************************************************************
  17. ;*******************************************************************************
  18. ;*
  19. ;* Define load pointer and segment override macros.
  20. ;*
  21. ;*******************************************************************************
  22. if sizeD
  23. LPES equ <les>
  24. LPDS equ <lds>
  25. PDS equ <ds:>
  26. PES equ <es:>
  27. else
  28. LPES equ <mov>
  29. LPDS equ <mov>
  30. PDS equ <>
  31. PES equ <>
  32. endif
  33. ifdef I386
  34. LFPES equ <mov>
  35. LFPDS equ <mov>
  36. FPES equ <>
  37. FPDS equ <>
  38. else
  39. LFPES equ <les>
  40. LFPDS equ <lds>
  41. FPES equ <es:>
  42. FPDS equ <ds:>
  43. endif
  44. ifdef SS_NEQ_DGROUP
  45. PSS equ <ss:> ; SS != DS
  46. else
  47. PSS equ <> ; SS == DS
  48. endif
  49. ifdef I386
  50. PCS equ <>
  51. else
  52. PCS equ <cs:>
  53. endif
  54. ;*******************************************************************************
  55. ;*
  56. ;* Define IWORD and ISIZE.
  57. ;*
  58. ;*******************************************************************************
  59. ifdef I386
  60. IWORD equ <dword>
  61. ISIZE equ 4
  62. else
  63. IWORD equ <word>
  64. ISIZE equ 2
  65. endif
  66. ;*******************************************************************************
  67. ;*
  68. ;* Define short conditional jumps for 386 code.
  69. ;*
  70. ;*******************************************************************************
  71. irp x,<Z,E,S,C,P,PE,PO,A,AE,B,BE,G,GE,L,LE,O>
  72. JS&x equ <j&x short>
  73. JSN&x equ <jn&x short>
  74. endm