home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a120 / 1.ddi / API / HARD.ASM < prev    next >
Encoding:
Assembly Source File  |  1992-04-29  |  4.2 KB  |  149 lines

  1. ;/*------------------------------------------------------------------*/
  2. ;/* HARD.ASM                                                         */
  3. ;/*------------------------------------------------------------------*/
  4. ;/*   API ▒`  ªí       ╗y    ¬k        Ñ╬   │~      ╢╟  ª^  ¡╚       */
  5. ;/*------------------------------------------------------------------*/
  6. ;/*   1. ChDir()     ChDir(<expC>)    ñ┴┤½Ñ╪┐²     ¡Yñ┴┤½ª¿Ñ\, ½h    */
  7. ;/*                                                ╢╟ª^╝╞¡╚  0 ;     */
  8. ;/*                                                º_½h, ▒N╢╟ª^╝╞    */
  9. ;/*                                                ¡╚  3             */
  10. ;/*------------------------------------------------------------------*/
  11. ;/*   2. Detect87()  Detect87()     └╦¼d▒z¬║╣q╕ú   ªp¬G▒z¬║╣q╕úª│    */
  12. ;/*                                 ¼Oº_ª│ªw╕╦╝╞   ªw╕╦╝╞╛╟╗▓ºU╣B    */
  13. ;/*                                 ╛╟╗▓ºU╣B║Γ╛╣   ║Γ╛╣, ½h╢╟ª^»u    */
  14. ;/*                                                ¡╚ .T.; º_½h▒N    */
  15. ;/*                                                ╢╟ª^░░¡╚ .F.      */
  16. ;/*------------------------------------------------------------------*/
  17. ;/* ╜s─╢╗P│s╡▓ : BUILDASM hard                                       */
  18. ;/*              ( buildasm.bat ñw¬■⌐≤╜d¿╥║╧ñ∙ññ )                   */
  19. ;/*------------------------------------------------------------------*/
  20. ;/* API ¿τ╝╞└] : HARD.PLB                                            */
  21. ;/*------------------------------------------------------------------*/
  22.  
  23. Public   __FoxTable
  24.  
  25. Include  "USER.INC"
  26.  
  27. Extrn    _HandToPtr_:Far
  28. Extrn    _RetInt_:Far
  29. Extrn    _RetLogical_:Far
  30.  
  31. Group    DGROUP    _SampleData
  32.  
  33. Segment  _SampleData         Word      Public    "DATA"
  34.  
  35. PType02   DB       "C",0
  36. PType03   DB       0
  37.  
  38. ChDir     DB       "CHDIR",0
  39. Detect87  DB       "DETECT87",0
  40.  
  41.  
  42. FuncList  FoxInfo  <far ptr ChDir,     _ChDir,     1,  far ptr PType02>
  43.           FoxInfo  <far ptr Detect87,  _Detect87,  0,  far ptr PType03>
  44.  
  45.  
  46. __FoxTable         FoxTable  <0, 2, far ptr FuncList>
  47.  
  48. Ends     _SampleData
  49.  
  50.  
  51.  
  52. Segment  _Sample   Word      Public    "CODE"
  53.          Assume    CS:_Sample,DS:DGROUP
  54.  
  55.  
  56.  
  57. ;/*------------------------------------------------------------------*/
  58. ;/* ChDir()                                                          */
  59. ;/*------------------------------------------------------------------*/
  60.  
  61. Proc     _ChDir    Far
  62.  
  63.          Push      ES
  64.          Push      BX
  65.          Push      SI
  66.          Push      DI
  67.          PushF
  68.  
  69.          Mov       ES,DX
  70.          Mov       BX,AX
  71.  
  72.          Inc       BX
  73.          Inc       BX
  74.  
  75.          Push      [InVal.Length]
  76.          Mov       AX,[InVal.Handle]
  77.          Call      _HandToPtr_
  78.          Pop       CX
  79.  
  80.          Push      DS
  81.          Push      BP
  82.          Mov       BP,SP
  83.          Sub       SP,CX
  84.          Dec       SP
  85.  
  86.          Mov       DS,DX
  87.          Mov       SI,AX
  88.          Push      SS
  89.          Pop       ES
  90.          Mov       DI,SP
  91.          CLD
  92.          Rep       Movsb
  93.          Mov       [Byte Ptr BP - 1],0
  94.  
  95.          Mov       DX,SP
  96.          Push      SS
  97.          Pop       DS
  98.          Mov       AH,3Bh
  99.          Int       21h
  100.          Mov       SP,BP
  101.          Pop       BP
  102.          Pop       DS
  103.          JC        @@Report
  104.          Xor       AX,AX
  105.  
  106. @@Report:Xor       DX,DX
  107.          Mov       BX,1
  108.          Call      _RetInt_
  109.  
  110.          PopF
  111.          Pop       DI
  112.          Pop       SI
  113.          Pop       BX
  114.          Pop       ES
  115.          Ret
  116. Endp     _ChDir
  117.  
  118.  
  119. ;/*------------------------------------------------------------------*/
  120. ;/* MathChip()                                                       */
  121. ;/*------------------------------------------------------------------*/
  122.  
  123. Proc     _Detect87 Far
  124.  
  125.          Push      BP
  126.          Mov       BP,SP
  127.          Sub       SP,2
  128.  
  129.          Mov       [Word Ptr BP - 2],0
  130.          FLDPI
  131.          FISTP     [Word Ptr BP - 2]
  132.          FWait
  133.          Cmp       [Word Ptr BP - 2],3
  134.          JE        @@True
  135.          Xor       AX,AX
  136.          Jmp       @@Done
  137.  
  138. @@True:  Mov       AX,1
  139.  
  140. @@Done:  Call      _RetLogical_
  141.          Mov       SP,BP
  142.          Pop       BP
  143.          Ret
  144. Endp     _Detect87
  145.  
  146.  
  147. Ends     _Sample
  148. End
  149.