]>
wirehaze git hosting - MS-DOS.git/blob - v4.0/src/MAPPER/LSEEK.ASM
4 title CP
/DOS DosChgFilePtr mapper
* * *
6 dosxxx
segment byte public 'dos'
7 assume
cs:dosxxx
,ds:nothing
,es:nothing
,ss:nothing
9 ;**********************************************************************
11 ;* MODULE: doschgfileptr
13 ;* FILE NAME: dos007.asm
17 ;* push word file handle
18 ;* push dword distance
19 ;* push word move type
20 ;* push@ dword new pointer
23 ;* MODULES CALLED: PC-DOS Int 21h, ah=42h, move file pointer
25 ;*********************************************************************
36 newptr dd ?
; new file pointer
37 movtyp dw ?
; move type
38 dstnce dd ?
; distance to be moved
39 handle dw ?
; file handle
42 doschgfileptr proc
far
43 Enter doschgfileptr
; push registers
47 mov cx,es ; set distance
49 mov ax,[bp].movtyp
; get move type
50 mov bx,[bp].handle
; get handle
53 int 21h
; move file pointer
54 jc exit
; return if error
56 lds si,[bp].newptr
; set pointer
57 mov word ptr [si],ax ; save the new pointer
58 mov word ptr [si]+2,dx ;
59 sub ax,ax ; set godd return code
61 exit: mexit
;pop registers
62 ret size
str - 6 ;return