|
|
Microsoft OS/2 SDK PM 08-08-1988
title windiff1.asm
;****************************************************************/
;* */
;* Windows Cardfile */
;* (c) Copyright Microsoft Corp. 1985 - All Rights Reserved */
;* */
;****************************************************************/
.xlist
include cmacros.inc
.list
createSeg _FILE,nrdiff,byte,public,CODE
sBegin DATA
sEnd DATA
sBegin nrdiff
assumes CS,nrdiff
assumes DS,DATA
cProc Frename,<PUBLIC,NEAR>,<di>
parmW src
parmW dst
cBegin
mov dx,src
push ds
pop es
mov di,dst
mov ah,56h
int 21h
jc renexit
xor ax,ax
renexit:
cEnd
;
; Fdelete (pch) - delete a file
; returns 0 or -1
;
cProc Fdelete,<PUBLIC,FAR>
parmW src
cBegin
mov dx,src
mov ah,41h
int 21h
jc rmexit
xor ax,ax
rmexit:
cEnd
cProc mylread,<PUBLIC,NEAR>
parmW fh
parmD lpbuf
parmW count
cBegin
push ds
mov bx,fh
lds dx,lpbuf
mov ah,3fh
mov cx,count
int 21h
jnc lreaddone
xor ax,ax
lreaddone:
pop ds
cEnd
cProc myread,<PUBLIC,NEAR>
parmW fh
parmW buf
parmW count
cBegin
mov bx,fh
mov dx,buf
mov ah,3fh
mov cx,count
int 21h
jnc readdone
xor ax,ax
readdone:
cEnd
cProc mylwrite,<PUBLIC,NEAR>
parmW fh
parmD lpbuf
parmW count
cBegin
push ds
mov bx,fh
lds dx,lpbuf
mov ah,40h
mov cx,count
int 21h
jnc lwritedone
xor ax,ax
lwritedone:
pop ds
cEnd
cProc mywrite,<PUBLIC,NEAR>
parmW fh
parmW buf
parmW count
cBegin
mov bx,fh
mov dx,buf
mov ah,40h
mov cx,count
int 21h
jnc writedone
xor ax,ax
writedone:
cEnd
cProc MyOpen,<PUBLIC,FAR>
parmD lpFilename
parmB mode
cBegin
push ds
lds dx,lpFilename
mov al,mode
mov ah,3Dh
int 21h
pop ds
jnc MyOpen_ok
mov ax,-1
MyOpen_ok:
cEnd
cProc MyClose,<PUBLIC,FAR>
parmW fd
cBegin
mov bx,fd
mov ah,3Eh ; DOS file close function
int 21h
mov ax,-1
jc MyClose_end
inc ax
MyClose_end:
cEnd
cProc MyLseek,<PUBLIC,FAR>
parmW fh
parmD fileOffset
parmW mode
cBegin
mov dx,off_fileOffset
mov cx,seg_fileOffset
mov ax,mode
mov bx,fh
mov ah,42h
int 21h
jnc MyLseek_ok
mov ax,-1
cwd ; must return a long
MyLseek_ok:
cEnd
sEnd nrdiff
end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.