home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / assemblr / library / lib4a86 / lib / dirs.lib < prev    next >
Text File  |  1992-02-12  |  2KB  |  195 lines

  1. #IF !LIB4A86
  2. #ELSE
  3. #IF !INTERN_LIB4A86_S
  4. INTERN_LIB4A86_S EQU 01
  5. JMP START
  6. #ENDIF
  7. #ENDIF
  8. RENAMEDIR:
  9. JMP INTERN_RENAMEFILEDIR
  10. EXISTDIR:
  11. PUSH CX,DX,SI
  12. CALL INTERN_MAKEASCIIZ
  13. PUSH AX
  14. MOV AX,04300H
  15. INT 021H
  16. POP DX
  17. MOV [SI],DH
  18. JC >L8
  19. TEST CX,010H
  20. JZ >L8
  21. CLC
  22. JMP >L9
  23. L8:
  24. STC
  25. L9:
  26. POP SI,DX,CX
  27. RET
  28. GETDIR:
  29. PUSH SI
  30. PUSH DX
  31. CLD
  32. OR DL,DL
  33. JNE >L1
  34. MOV AH,019H
  35. INT 021H
  36. INC AL
  37. MOV DL,AL
  38. L1:
  39. MOV B[SI],0
  40. MOV DH,DL
  41. ADD DH,040H
  42. MOV B[SI+1],DH
  43. MOV W[SI+2],'\:'
  44. ADD SI,4
  45. MOV AH,047H
  46. INT 021H
  47. JC >L8
  48. MOV AH,3
  49. L1:
  50. LODSB
  51. OR AL,AL
  52. JE >L2
  53. INC AH
  54. JMP L1
  55. L2:
  56. CMP B[SI-2],'\'
  57. JE >L1
  58. MOV B[SI-1],'\'
  59. INC AH
  60. L1:
  61. CLC
  62. L8:
  63. POP DX
  64. POP SI
  65. MOV B[SI],AH
  66. RET
  67. CHANGEDIR:
  68. MOV AH,03BH
  69. JMP >L1
  70. REMOVEDIR:
  71. MOV AH,03AH
  72. JMP >L1
  73. MAKEDIR:
  74. MOV AH,039H
  75. L1:
  76. PUSH BX
  77. PUSH DX,SI
  78. MOV BX,AX
  79. CALL INTERN_MAKEASCIIZ
  80. PUSH AX
  81. MOV AH,BH
  82. INT 021H
  83. POP BX
  84. MOV B[SI],BH
  85. POP SI,DX
  86. POP BX
  87. RET
  88. SELECTDISK:
  89. AND AL,0DFH
  90. MOV DL,AL
  91. SUB DL,041H
  92. MOV AH,0EH
  93. INT 021H
  94. RET
  95. GETDISKFREE:
  96. MOV AH,0
  97. JMP SHORT INTERN_GETDISKMEMORY
  98. GETDISKSPACE:
  99. MOV AH,01
  100. JMP SHORT INTERN_GETDISKMEMORY
  101. INTERN_GETDISKMEMORY:
  102. PUSH BX,CX,SI
  103. MOV SI,AX
  104. MOV DL,AL
  105. MOV AH,036H
  106. INT 021H
  107. CMP AX,0FFFFH
  108. JE >L1
  109. OR SI,SI
  110. JNZ >L2
  111. MUL BX
  112. MUL CX
  113. JMP >L20
  114. L2:
  115. MUL DX
  116. MUL CX
  117. L20:
  118. CLC
  119. JMP >L9
  120. L1:
  121. STC
  122. L9:
  123. POP SI,CX,BX
  124. RET
  125. #IF !INTERN_MAKEASCIIZ_S
  126. INTERN_MAKEASCIIZ_S EQU 01
  127. INTERN_MAKEASCIIZ:
  128. CLD
  129. XOR AH,AH
  130. LODSB
  131. MOV DX,SI
  132. ADD SI,AX
  133. XCHG AH,[SI]
  134. RET
  135. #ENDIF
  136. #IF !INTERN_RENAMEFILEDIR_S
  137. INTERN_RENAMEFILEDIR_S EQU 01
  138. INTERN_RENAMEFILEDIR:
  139. PUSH DX,SI
  140. CALL INTERN_MAKEASCIIZ
  141. PUSH AX
  142. PUSH SI
  143. PUSH DX
  144. PUSH DS
  145. MOV DS,ES
  146. MOV SI,DI
  147. CALL INTERN_MAKEASCIIZ
  148. MOV DI,DX
  149. POP DS
  150. POP DX
  151. PUSH AX
  152. PUSH SI
  153. MOV AH,056H
  154. INT 021H
  155. POP DI
  156. POP AX
  157. MOV ES:[DI],AH
  158. POP SI
  159. POP AX
  160. MOV [SI],AH
  161. L9:
  162. POP SI,DX
  163. RET
  164. #ENDIF
  165. #IF !INTERN_CMARK0
  166. INTERN_CMARK0 EQU 01H
  167. INTERN_CMARK1:
  168. PUSH BP
  169. MOV BP,SP
  170. MOV BX,06H
  171. SUB CH,[BP+SI]
  172. SUB AH,[BX+SI]
  173. DEC SP
  174. DEC CX
  175. INC DX
  176. XOR AL,041H
  177. CMP B[02820H],DH
  178. INC BX
  179. SUB W[BX+SI],SP
  180. INC DX
  181. CS AND B[BP+DI+043H],DL
  182. DEC AX
  183. INC BP
  184. DEC BP
  185. DEC BP
  186. INC BP
  187. PUSH DX
  188. AND B[BP+SI],CH
  189. SUB CH,[BP+SI]
  190. POP DX
  191. MOV SP,BP
  192. POP BP
  193. RET
  194. #ENDIF
  195.