›MODULE ; Example 7››; This subroutine prints out an›; English explanation for the user›; when a system error occurs (Only›; errors 128 through 144 are given›; for space reasons)››DEFINE LASTERR = "144"››CHAR ARRAY› s128() = "BREAK key abort",› s129() = "IOCB already open",› s130() = "Nonexistent device",› s131() = "IOCB Write only",› s132() = "Illegal handler command",› s133() = "IOCB not Open",› s134() = "Illegal IOCB number",› s135() = "IOCB Read only",› s136() = "End of file",› s137() = "Truncated record",› s138() = "Device timeout",› s139() = "Device NAK",› s140() = "Serial frame error",› s141() = "Cursor out of range",› s142() = "Serial bus overrun",› s143() = "Checksum error",› s144() = "Device done error",› generic() = "Error %U!%E"››PROC dummy=*() [› s128 s129 s130 s131 s132 s133 s134› s135 s136 s137 s138 s139 s140 s141› s142 s143 s144 ]››MODULE ; for variable declaration››CARD ARRAY› errstrs = dummy››PROC PrintError(BYTE errnum)› IF errnum > 128 THEN› IF errnum > LASTERR THEN› PrintF(generic, errnum)› ELSE› PrintE(errstrs(errnum - 128))› FI› FI›RETURN››