|
|
1.1 ! root 1: title windiff1.asm ! 2: ! 3: ;****************************************************************/ ! 4: ;* */ ! 5: ;* Windows Cardfile */ ! 6: ;* (c) Copyright Microsoft Corp. 1985 - All Rights Reserved */ ! 7: ;* */ ! 8: ;****************************************************************/ ! 9: ! 10: .xlist ! 11: include cmacros.inc ! 12: ! 13: .list ! 14: ! 15: createSeg _FILE,nrdiff,byte,public,CODE ! 16: ! 17: sBegin DATA ! 18: sEnd DATA ! 19: ! 20: sBegin nrdiff ! 21: ! 22: assumes CS,nrdiff ! 23: assumes DS,DATA ! 24: ! 25: cProc Frename,<PUBLIC,NEAR>,<di> ! 26: parmW src ! 27: parmW dst ! 28: cBegin ! 29: mov dx,src ! 30: push ds ! 31: pop es ! 32: mov di,dst ! 33: mov ah,56h ! 34: int 21h ! 35: jc renexit ! 36: xor ax,ax ! 37: renexit: ! 38: cEnd ! 39: ! 40: ; ! 41: ; Fdelete (pch) - delete a file ! 42: ; returns 0 or -1 ! 43: ; ! 44: ! 45: cProc Fdelete,<PUBLIC,FAR> ! 46: parmW src ! 47: cBegin ! 48: mov dx,src ! 49: mov ah,41h ! 50: int 21h ! 51: jc rmexit ! 52: xor ax,ax ! 53: rmexit: ! 54: cEnd ! 55: ! 56: cProc mylread,<PUBLIC,NEAR> ! 57: parmW fh ! 58: parmD lpbuf ! 59: parmW count ! 60: cBegin ! 61: push ds ! 62: mov bx,fh ! 63: lds dx,lpbuf ! 64: mov ah,3fh ! 65: mov cx,count ! 66: int 21h ! 67: jnc lreaddone ! 68: xor ax,ax ! 69: lreaddone: ! 70: pop ds ! 71: cEnd ! 72: ! 73: cProc myread,<PUBLIC,NEAR> ! 74: parmW fh ! 75: parmW buf ! 76: parmW count ! 77: cBegin ! 78: mov bx,fh ! 79: mov dx,buf ! 80: mov ah,3fh ! 81: mov cx,count ! 82: int 21h ! 83: jnc readdone ! 84: xor ax,ax ! 85: readdone: ! 86: cEnd ! 87: ! 88: cProc mylwrite,<PUBLIC,NEAR> ! 89: parmW fh ! 90: parmD lpbuf ! 91: parmW count ! 92: cBegin ! 93: push ds ! 94: mov bx,fh ! 95: lds dx,lpbuf ! 96: mov ah,40h ! 97: mov cx,count ! 98: int 21h ! 99: jnc lwritedone ! 100: xor ax,ax ! 101: lwritedone: ! 102: pop ds ! 103: cEnd ! 104: ! 105: cProc mywrite,<PUBLIC,NEAR> ! 106: parmW fh ! 107: parmW buf ! 108: parmW count ! 109: cBegin ! 110: mov bx,fh ! 111: mov dx,buf ! 112: mov ah,40h ! 113: mov cx,count ! 114: int 21h ! 115: jnc writedone ! 116: xor ax,ax ! 117: writedone: ! 118: ! 119: cEnd ! 120: ! 121: cProc MyOpen,<PUBLIC,FAR> ! 122: parmD lpFilename ! 123: parmB mode ! 124: cBegin ! 125: push ds ! 126: lds dx,lpFilename ! 127: mov al,mode ! 128: mov ah,3Dh ! 129: int 21h ! 130: pop ds ! 131: jnc MyOpen_ok ! 132: mov ax,-1 ! 133: MyOpen_ok: ! 134: cEnd ! 135: ! 136: ! 137: cProc MyClose,<PUBLIC,FAR> ! 138: parmW fd ! 139: cBegin ! 140: mov bx,fd ! 141: mov ah,3Eh ; DOS file close function ! 142: int 21h ! 143: mov ax,-1 ! 144: jc MyClose_end ! 145: inc ax ! 146: MyClose_end: ! 147: cEnd ! 148: ! 149: cProc MyLseek,<PUBLIC,FAR> ! 150: parmW fh ! 151: parmD fileOffset ! 152: parmW mode ! 153: cBegin ! 154: mov dx,off_fileOffset ! 155: mov cx,seg_fileOffset ! 156: mov ax,mode ! 157: mov bx,fh ! 158: mov ah,42h ! 159: int 21h ! 160: jnc MyLseek_ok ! 161: mov ax,-1 ! 162: cwd ; must return a long ! 163: MyLseek_ok: ! 164: cEnd ! 165: ! 166: ! 167: sEnd nrdiff ! 168: ! 169: end ! 170:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.