home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Hack-Phreak Scene Programs
/
cleanhpvac.zip
/
cleanhpvac
/
TASMSWAN.ZIP
/
DISKERR.ASM
< prev
next >
Wrap
Assembly Source File
|
1989-07-15
|
2KB
|
91 lines
%TITLE "Disk-error Handler"
IDEAL
DOSSEG
MODEL small
DATASEG
errString db '** ERROR: ',0
err00 db 'Unknown cause',0
err01 db 'Bad function number',0
err02 db 'File not found',0
err03 db 'Path not found',0
err04 db 'TOO many open files',0
err05 db 'Access denied',0
err06 db 'File handle invalid',0
err07 db 'Memory control blocks destroyed',0
err08 db 'Not enough memory for operation',0
err09 db 'Bad memory block address',0
err0A db 'Bad environment',0
err0B db 'Bad format',0
err0C db 'Bad access code',0
err0D db 'Bad data',0
err0E db 'Unknown cause, even I dont know everything',0
err0F db 'Bad disk drive letter',0
err10 db 'Removing current directory is not allowed you fool',0
err11 db 'Device is not the same',0
err12 db 'No more files available',0
err13 db 'Disk is write-protected',0
err14 db 'Unknown unit',0
err15 db 'Disk drive is not ready',0
err16 db 'Unknown command',0
err17 db 'Data (CRC) error',0
err18 db 'Bad structure length',0
err19 db 'Seek error',0
err1A db 'Unknown type of medium',0
err1B db 'Sector not found',0
err1C db 'Printer is out of paper bonehead',0
err1D db 'Disk write error',0
err1E db 'Disk read error',0
err1F db 'General failure',0
errors DW err00, err01, err,02, err03, err04, err05, err06, err07
DW err08, err09, err,0A, err0B, err0C, err0D, err0E, err0F
DW err10, err11, err,12, err13, err14, err15, err16, err17
DW err18, err19, err,1A, err1B, err1C, err1D, err1E, err1F
CODESEG
;----------from STRIO.obj
EXTRN NewLine:proc, StrWrite:proc
PUBLIC DiskErr
%NEWPAGE
;------------------------------------------------------------------------
; DiskErr - write disk error message to standard output
;------------------------------------------------------------------------
; Input: none (cf = 1 following a DOS file operation)
; Output: none (error message displayed)
; Registers: ax,bp,bx,cx,dx,di,si changed
;------------------------------------------------------------------------
PROC DiskErr
push ds
push es
mov ah,59h
xor bx,bx
int 21h
pop es
pop ds
cmp ax,1Fh
jbe @@10
xor ax,ax
@@10:
shl ax,1
mov bx,ax
mov di,[errors + bx]
push di
call NewLine
mov di,offset errString
call StrWrite
pop di
call StrWrite
call NewLine
ret
ENDP DiskErr
END