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.

46 lines
860 B

  1. ;/*
  2. ; * Microsoft Confidential
  3. ; * Copyright (C) Microsoft Corporation 1991
  4. ; * All Rights Reserved.
  5. ; */
  6. CallInstall MACRO name,mpx,fn,save,restore
  7. BREAK MACRO subtitle
  8. SUBTTL subtitle
  9. PAGE
  10. ENDM
  11. .xcref break
  12. IF Installed
  13. IFNB <save>
  14. SaveReg <save>
  15. ENDIF
  16. MOV AX,(mpx SHL 8) + fn
  17. INT 2Fh
  18. IFNB <restore>
  19. RestoreReg <restore>
  20. ENDIF
  21. ELSE
  22. Invoke name
  23. ENDIF
  24. ENDM
  25. BREAK <SaveReg - save a set of registers>
  26. SaveReg MACRO reglist ;; push those registers
  27. IRP reg,<reglist>
  28. ?stackdepth = ?stackdepth + 1
  29. PUSH reg
  30. ENDM
  31. ENDM
  32. .xcref SaveReg
  33. BREAK <RestoreReg - unsave some registers>
  34. RestoreReg MACRO reglist ;; pop those registers
  35. IRP reg,<reglist>
  36. ?stackdepth = ?stackdepth - 1
  37. POP reg
  38. ENDM
  39. ENDM
  40. .xcref RestoreReg
  41.