home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a013 / 1.ddi / SOURCE.EXE / LASTDRIV.ASM < prev    next >
Encoding:
Assembly Source File  |  1991-01-25  |  1.6 KB  |  45 lines

  1. ; --------------------------------------------------------------
  2. ; FUNCTION NAME: LASTDRIVE - Returns last logical DOS drive
  3. ; --------------------------------------------------------------
  4. ; Copyright(c)              1991 -- James Occhiogrosso
  5.  
  6. INCLUDE DEVELOP.MAC         ; Developer's Library macro file
  7.  
  8. PUBLIC   LASTDRIVE          ; Declare function name
  9.                             ; Declare Clipper "EXTERNALS"
  10.  
  11.  
  12. EXTRN    __RETC:FAR         ; Return a string to Clipper
  13.  
  14. CODESEG  SEGMENT 'CODE'
  15.           ASSUME CS:CODESEG
  16.  
  17.  
  18. LASTDRIVE PROC  FAR
  19.  
  20.           JMP BEGIN                   ; Jump around data area
  21.           LAST_DRV  DB  'A', 0        ; Last drive letter
  22.  
  23. BEGIN:
  24.           PUSH_REGS                   ; Save Clipper registers
  25.           MOV AH, 19h                 ; Default drive function
  26.           INT 21h
  27.           MOV DL, AL                  ; AL is default drive
  28.           MOV AH, 0Eh                 ; Select disk function
  29.           INT 21h                     ; (returns last drive)
  30.           ADD AL, 64                  ; Convert it to ASCII
  31.  
  32.  
  33.           PUSH CS                     ; Set up our data segment
  34.           POP DS
  35.           MOV BX, OFFSET LAST_DRV     ; Get drive letter address
  36.           MOV [BX], AL                ; Move our value to it
  37.           POP_REGS                    ; Restore Clipper registers
  38.           RET_STRING CS BX            ; Return drive to Clipper
  39.  
  40. LASTDRIVE ENDP                        ; End of procedure
  41.  
  42. CODESEG   ENDS                        ; End of code segment
  43.           END                         ; End of assembly
  44.  
  45.