home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
progm
/
a86d86-1.zip
/
MSDOS.8
< prev
next >
Wrap
Text File
|
1990-01-25
|
2KB
|
75 lines
;---------------
; MSDOS library module, NOT a standalone program
;---------------
; This module contains the file-access routines specific to the MSDOS operating
; system.
; MCREAT creates a file whose path name is pointed to by DS:DX, giving the file
; a standard set of permissions. Return Carry if there was an error in
; creating the file, with AX set to an error number. Return NoCarry if
; successful, with AX set to the open-file number.
MCREAT:
PUSH CX ; preserve register across call
MOV CX,0 ; 0-code provides the standard access
MOV AH,03CH ; MSDOS function number for CREAT
INT 33 ; call MSDOS to do the creation
POP CX ; restore clobbered register
MOV BX,AX ; copy file handle to BX, for convenience
RET
; MREAD reads from the open-file numbered BX, to the CX bytes at DX. Return
; with AX set to the number of bytes actually read.
MREAD:
MOV AH,03FH ; MSDOS function number for READ
MSDOS:
INT 33 ; all MSDOS calls go through this interrupt
RET
; MOPEN opens the file whose name is pointed to by DS:DX, with the open-mode
; given by the value of AL: 0 for reading, 1 for writing, 2 for both. Return
; Carry if the open failed. Return NoCarry if successful; with AX set to the
; open-file number.
MOPEN_READ:
MOV AL,0
MOPEN:
MOV AH,03DH ; MSDOS function number for MOPEN
INT 33 ; all MSDOS calls go through this interrupt
MOV BX,AX ; copy file handle to BX, for convenience
RET
; MCLOSE closes the open-file numbered BX.
MCLOSE:
MOV AH,03EH ; MSDOS function number for CLOSE
JMP MSDOS ; jump to call the operating system
; MWRITE writes SI bytes from CX to the open-file numbered BX. Return Carry if
; the write failed, with AX set to an error number.
OWRITE: ; alternate entry point for standard output
MOV BX,1
MWRITE:
MOV AH,040H ; MSDOS function number for WRITE
JMP MSDOS ; jump to call the operating system
EWRITE: ; alternate entry point for error-console output
MOV BX,2
JMP MWRITE
; EXIT exits the program back to the invoking process, with a status of AL.
GOOD_EXIT:
MOV AL,0 ; zero value indicates successful program execution
EXIT:
MOV AH,04CH ; MSDOS function number for EXIT
JMP MSDOS ; jump to call the operating system