home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / TASMSWAN.ZIP / DISKERR.ASM < prev    next >
Assembly Source File  |  1989-07-15  |  2KB  |  91 lines

  1. %TITLE "Disk-error Handler"
  2.  
  3.     IDEAL
  4.     DOSSEG
  5.     MODEL    small
  6.  
  7.     DATASEG
  8.  
  9. errString    db    '** ERROR: ',0
  10.  
  11. err00    db    'Unknown cause',0
  12. err01    db    'Bad function number',0
  13. err02    db    'File not found',0
  14. err03    db    'Path not found',0
  15. err04    db    'TOO many open files',0
  16. err05    db    'Access denied',0
  17. err06    db    'File handle invalid',0
  18. err07    db    'Memory control blocks destroyed',0
  19. err08    db    'Not enough memory for operation',0
  20. err09    db    'Bad memory block address',0
  21. err0A    db    'Bad environment',0
  22. err0B    db    'Bad format',0
  23. err0C    db    'Bad access code',0
  24. err0D    db    'Bad data',0
  25. err0E    db    'Unknown cause, even I dont know everything',0
  26. err0F    db    'Bad disk drive letter',0
  27. err10    db    'Removing current directory is not allowed you fool',0
  28. err11    db    'Device is not the same',0
  29. err12    db    'No more files available',0
  30. err13    db    'Disk is write-protected',0
  31. err14    db    'Unknown unit',0
  32. err15    db    'Disk drive is not ready',0
  33. err16    db    'Unknown command',0
  34. err17    db    'Data (CRC) error',0
  35. err18    db    'Bad structure length',0
  36. err19    db    'Seek error',0
  37. err1A    db    'Unknown type of medium',0
  38. err1B    db    'Sector not found',0
  39. err1C    db    'Printer is out of paper bonehead',0
  40. err1D    db    'Disk write error',0
  41. err1E    db    'Disk read error',0
  42. err1F    db    'General failure',0
  43.  
  44. errors    DW    err00, err01, err,02, err03, err04, err05, err06, err07
  45.     DW    err08, err09, err,0A, err0B, err0C, err0D, err0E, err0F
  46.     DW    err10, err11, err,12, err13, err14, err15, err16, err17
  47.     DW    err18, err19, err,1A, err1B, err1C, err1D, err1E, err1F
  48.  
  49.  
  50.     CODESEG
  51.  
  52. ;----------from STRIO.obj
  53.     EXTRN    NewLine:proc, StrWrite:proc
  54.  
  55.     PUBLIC    DiskErr
  56.  
  57. %NEWPAGE
  58. ;------------------------------------------------------------------------
  59. ;  DiskErr - write disk error message to standard output
  60. ;------------------------------------------------------------------------
  61. ;    Input: none   (cf = 1  following a DOS file operation)
  62. ;       Output: none  (error message displayed)
  63. ;       Registers:  ax,bp,bx,cx,dx,di,si changed
  64. ;------------------------------------------------------------------------
  65. PROC    DiskErr
  66.     push    ds
  67.     push    es
  68.     mov     ah,59h
  69.     xor    bx,bx
  70.     int     21h
  71.     pop    es
  72.     pop    ds
  73.     cmp    ax,1Fh
  74.     jbe    @@10
  75.     xor    ax,ax
  76. @@10:
  77.     shl    ax,1
  78.     mov    bx,ax
  79.     mov    di,[errors + bx]
  80.     push    di
  81.     call    NewLine
  82.     mov    di,offset errString
  83.     call    StrWrite
  84.     pop    di
  85.     call    StrWrite
  86.     call    NewLine
  87.     ret
  88. ENDP    DiskErr
  89.  
  90.     END
  91.