Function  42h   Move a File Read/Write Pointer  (LSEEK) 
entry   AH      42h 
	AL      method code  
		00h     offset from beginning of file 
		01h     offset from present location 
		02h     offset from end of file 
	BX      file handle 
	CX      most significant half of offset 
	DX      least significant half of offset 
return  AX      low offset of new file pointer 
	DX      high offset of new file pointer 
	CF      0       successful move 
		1       error 
		AX      error code (1, 6) 
note 1) If pointer is at end of file, reflects file size in bytes. 
     2) The value in DX:AX is the absolute 32 bit byte offset from the beginning 
	of the file 
     3) for origins 01h and 02h, the pointer may be positioned before the
	start of the file; no error is returned in that case (except under
	Windows NT), but subsequent attempts at I/O will produce errors
     4) if the new position is beyond the current end of file, the file will
	be extended by the next write (see AH=40h); for FAT32 drives, the
	file must have been opened with AX=6C00h with the "extended size"
	flag in order to expand the file beyond 2GB

bugs	using this method to grow a file from zero bytes to a very large size
	can corrupt the FAT in some versions of DOS; the file should first
	be grown from zero to one byte and then to the desired large size