home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddkx86v5.zip / DDKX86 / SRC / DEV / DASD / DEVHELP / DHCALL2.ASM < prev    next >
Encoding:
Assembly Source File  |  1995-04-14  |  3.1 KB  |  174 lines

  1. ;*DDK*************************************************************************/
  2. ;
  3. ; COPYRIGHT    Copyright (C) 1995 IBM Corporation
  4. ;
  5. ;    The following IBM OS/2 WARP source code is provided to you solely for
  6. ;    the purpose of assisting you in your development of OS/2 WARP device
  7. ;    drivers. You may use this code in accordance with the IBM License
  8. ;    Agreement provided in the IBM Device Driver Source Kit for OS/2. This
  9. ;    Copyright statement may not be removed.;
  10. ;*****************************************************************************/
  11. ; SCCSID = %w% %e%
  12. ;**************************************************************************
  13. ;*
  14. ;* SOURCE FILE NAME = DHCALL2.ASM
  15. ;*
  16. ;* DESCRIPTIVE NAME = C callable DevHelp interface
  17. ;*              Memory Management Related DevHelp Calls
  18. ;*
  19. ;*
  20. ;* VERSION = V2.0
  21. ;*
  22. ;* DATE
  23. ;*
  24. ;* DESCRIPTION :
  25. ;*
  26. ;* Purpose:
  27. ;*
  28. ;*
  29. ;*
  30. ;*
  31. ;* FUNCTIONS  :
  32. ;*
  33. ;*
  34. ;*
  35. ;*
  36. ;*
  37. ;*
  38. ;*
  39. ;* NOTES
  40. ;*
  41. ;*
  42. ;* STRUCTURES
  43. ;*
  44. ;* EXTERNAL REFERENCES
  45. ;*
  46. ;*
  47. ;*
  48. ;* EXTERNAL FUNCTIONS
  49. ;*
  50. ;* CHANGE ACTIVITY =
  51. ;*   DATE      FLAG       APAR   CHANGE DESCRIPTION
  52. ;*   --------  ----------  -----  --------------------------------------
  53. ;*   10/22/93  @V74979       74979  Fix DevHelp_PhysToUVirt
  54. ;*   10/22/93  @V74979       74979  Change return type to USHORT
  55. ;*   12/02/93  @V76282       76282  Moved DevHelp_PhysToGDTSel from DHCALL12
  56. ;*    2/ 5/94           78794  Broke file apart, also moved FreeGDTSelector
  57. ;*                  from DHCALL11.
  58. ;*
  59. ;****************************************************************************
  60.  
  61.     .xlist
  62.     include dhmacs.inc
  63.     .list
  64.  
  65. ;*
  66. ;*  Memory Management
  67. ;*
  68.  
  69. Code    segment dword public 'CODE'
  70.     assume    CS:Code,DS:_DATA
  71.  
  72. ;*
  73. ;*
  74. ;* USHORT APIENTRY DevHlp_AllocGDTSelector( PSEL Selectors, USHORT Count );
  75. ;*
  76. ;*
  77.  
  78.     DHDef    AllocGDTSelector
  79.     DHArgs    PSEL,     Selectors
  80.     DHArgs    USHORT,  Count
  81.  
  82.     les    di, Stk.Selectors
  83.     mov    cx, Stk.Count
  84.  
  85.     DHCall
  86.  
  87.     DHRet1
  88.  
  89. ;*
  90. ;*
  91. ;*  USHORT APIENTRY DevHlp_FreeGDTSelector( SEL Selector );
  92. ;*
  93. ;*
  94.  
  95.     DHDef    FreeGDTSelector
  96.     DHArgs    SEL,   Selector
  97.  
  98.     mov    ax, Stk.Selector
  99.  
  100.     cmp    ax, [BP].DSReg
  101.     jne    FGDT0010
  102.  
  103.     mov    word ptr [BP].DSReg, 0
  104. FGDT0010:
  105.  
  106.     cmp    ax, [BP].ESReg
  107.     jne    FGDT0020
  108.  
  109.     mov    word ptr [BP].ESReg, 0
  110. FGDT0020:
  111.  
  112.  
  113.     DHCall
  114.  
  115.     DHRet1
  116.  
  117.  
  118. ;*
  119. ;*
  120. ;* USHORT APIENTRY DevHlp_PhysToGDTSelector( ULONG PhysAddr, USHORT Count,
  121. ;*                         SEL Selector );
  122. ;*
  123. ;*
  124.  
  125.     DHDef    PhysToGDTSelector
  126.     DHArgs    ULONG,     PhysAddr
  127.     DHArgs    USHORT,  Count
  128.     DHArgs    SEL,     Selector
  129.  
  130.     mov    ax, Stk.PhysAddr[2]
  131.     mov    bx, Stk.PhysAddr[0]
  132.     mov    cx, Stk.Count
  133.     mov    si, Stk.Selector
  134.  
  135.     DHCall
  136.  
  137.     DHRet1
  138.  
  139. ;*                                    ;@V76282
  140. ;*
  141. ;* USHORT APIENTRY DevHlp_PhysToGDTSel( ULONG PhysAddr, ULONG Count,
  142. ;*                    SEL Selector, UCHAR Access );
  143. ;*
  144. ;* @6087 Added for Feature 26087.
  145. ;*
  146.  
  147.     DHDef    PhysToGDTSel
  148.     DHArgs    ULONG,     PhysAddr
  149.     DHArgs    ULONG,     Count
  150.     DHArgs    SEL,     Selector
  151.     DHArgs    UCHAR,     Access
  152.  
  153.        .386p
  154.     push    ecx
  155.     mov    eax, Stk.PhysAddr
  156.     mov    ecx, Stk.Count
  157.        .286p
  158.  
  159.     mov    si,  Stk.Selector
  160.     mov    dh,  Stk.Access
  161.  
  162.     DHCall
  163.  
  164.        .386p
  165.     pop    ecx
  166.        .286p
  167.  
  168.     DHRet1
  169.  
  170.  
  171.  
  172. Code    Ends
  173.     End
  174.