home *** CD-ROM | disk | FTP | other *** search
/ Programmer Plus 2007 / Programmer-Plus-2007.iso / Programming / Borland Plateform / Turbo Prolog 2 / EXAMPL66.PRO < prev    next >
Encoding:
Prolog Source  |  1986-04-24  |  817 b   |  30 lines

  1. /* Program 66 */
  2.  
  3.    predicates
  4.    
  5.      dosver(real)
  6.      diskspace(integer,real,real)
  7.      makedir(STRING)
  8.      removedir(STRING)
  9.      
  10.    clauses
  11.    
  12.      dosver(VERSION):-
  13.         AX=48*256,
  14.         bios($21,reg(AX,0,0,0,0,0,0,0),reg(VV,_,_,_,_,_,_,_)),
  15.         L=VV div 256,H=VV-256*L,VERSION=H+L/100.
  16.  
  17.         diskspace(DISK,TOTALSPACE,FREESPACE):-
  18.            AAX=54*256,
  19.            bios(33,reg(AAX,0,0,DISK,0,0,0,0),
  20.            reg(AX,BX,CX,DX,_,_,_,_)),
  21.            FREESPACE=1.0*BX*CX*AX,TOTALSPACE=1.0*DX*CX*AX.
  22.            
  23.         makedir(NAME):-
  24.            ptr_dword(NAME,DS,DX),
  25.            AX=256*57,
  26.            bios(33,reg(AX,0,0,DX,0,0,DS,0),_).
  27.            
  28.         removedir(NAME):-
  29.            ptr_dword(NAME,DS,DX),AX=256*58,
  30.            bios(33,reg(AX,0,0,DX,0,0,DS,0),_).