utildrv.asm
上传用户:xiaoan1112
上传日期:2013-04-11
资源大小:19621k
文件大小:1k
源码类别:

操作系统开发

开发平台:

Visual C++

  1. ;*
  2. ;* CW : Character Windows
  3. ;*
  4. ;* utildrv.asm : installable driver utility routines
  5. include kernel.inc
  6. include kmem.inc
  7. include indrv.inc
  8. include inscr.inc
  9. include inkbd.inc
  10. include insyd.inc
  11. include _loaddrv.inc
  12. ;*****************************************************************************
  13. ;* App call backs for memory management
  14. externFP <LpwAllocDriverMem,FreeDriverMem>
  15. ;*****************************************************************************
  16. sBegin KERNEL
  17.     assumes CS,KERNEL
  18.     assumes DS,DGROUP
  19.     assumes SS,DGROUP
  20. ;********** FreeIndv ***************
  21. ;* entry: pindv => indv of the service to be freed
  22. ;* * Frees memory allocated to for the given service
  23. ;* * NOTE: any routine pointers into this service will be invalid
  24. ;* * and are not fixed up, a new service must be loaded before
  25. ;* * any calls
  26. cProc FreeIndv, <PUBLIC,FAR>
  27.     parmW pindv
  28. cBegin FreeIndv
  29. mov bx,pindv
  30. mov es,[bx].psLoadedIndv
  31. mov ax,es:LO_lpwdataInsh
  32. mov dx,es:HI_lpwdataInsh
  33. Save <es>
  34. cCall <far ptr FreeDriverMem>,<dx,ax>
  35. xor ax,ax
  36. cCall <far ptr FreeDriverMem>,<es,ax>
  37. cEnd FreeIndv
  38. sEnd KERNEL
  39. ;*****************************************************************************
  40. END