Inp.:
AH = 42h
AL = origin of move
00h start of file
01h current file position
02h end of file
BX = file handle
CX:DX = offset from origin of new file position
Return: CF clear if successful
DX:AX = new file position in bytes from start of file
CF set on error
AX = error code (01h,06h) (see #1020 at AH=59h/BX=0000h)
Notes: for origins 01h and 02h, the pointer may be positioned before the
start of the file; no error is returned in that case, but subsequent
attempts at I/O will produce errors
if the new position is beyond the current end of file, the file will
be extended by the next write (see AH=40h)
首先,输入的BX是不是指向文件指针,不是的话,要先打开文件,并让bx指向文件指针
其次,你先确认下,在中断执行完之后,CF是否被置1了(八成是已经被置了),如果是有的话,就是出错了;
18h的错误提示是 bad request structure length,是不是你要移动的位置超过文件的长度。