Function to check drive letter to see if its valid

Submitted by:Andery Smith

Date added:10 March, 2012

Category:Delphi

An example code for Delphi function to check drive letter to see if its valid

Tags: delphi function

Code Snippet:

function DriveValid(Drive: Char): Boolean; assembler;
asm
mov ah, 19h { Select DOS function 19h }
int 21h { Call DOS for current disk drive }
mov bl, al { Save drive code in bl }
mov al, Drive { Assign requested drive to al }
sub al, 'A' { Adjust so A:=0, B:=1, etc. }
mov dl, al { Save adjusted result in dl }
mov ah, 0eh { Select DOS function 0eh }
int 21h { Call DOS to set default drive }
mov ah, 19h { Select DOS function 19h }
int 21h { Get current drive again }
mov cx, 0 { Preset result to False }
cmp al, dl { Check if drives match }
jne @@1 { Jump if not--drive not valid }
mov cx, 1 { Preset result to True }
@@1:
mov dl, bl { Restore original default drive }
mov ah, 0eh { Select DOS function 0eh }
int 21h { Call DOS to set default drive }
xchg ax, cx { Return function result in ax }
end;
 
 

Comments