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.

57 lines
1.4 KiB

  1. WLOINITDLL macro
  2. local cd_start, cd_patch, cd_init, WIN_NOP, WIN_PPLI
  3. local cd_end
  4. EXTRN GETMODULEUSAGE:FAR
  5. EXTRN INITTASK:FAR
  6. EXTRN __WINFLAGS:abs
  7. cd_start:
  8. push ax
  9. push bx
  10. push cx
  11. push dx
  12. push es
  13. mov ax, __WINFLAGS
  14. or ax,ax
  15. jns WIN_NOP
  16. pop es
  17. pop dx
  18. pop cx
  19. pop bx
  20. pop ax
  21. call INITTASK-5
  22. cd_patch:
  23. jmp short cd_init
  24. nop
  25. xor ax, ax
  26. retf
  27. cd_init: jmp short cd_end
  28. WIN_NOP:
  29. jmp short WIN_PPLI
  30. jmp short WIN_PPLI
  31. push di
  32. call GETMODULEUSAGE
  33. dec ax
  34. jz WIN_PPLI
  35. inc ax
  36. add sp,10
  37. retf
  38. WIN_PPLI:
  39. pop es
  40. pop dx
  41. pop cx
  42. pop bx
  43. pop ax
  44. jmp short cd_end
  45. db "C", "D", "D", 1, 0
  46. dw cd_patch - cd_start
  47. dw WIN_NOP - cd_start
  48. dw cd_end - cd_start
  49. cd_end:
  50. endm
  51. WLOINITDLL
  52.