ASMB,R,L,C HED (FMP) ERSTR: ERROR EXPANDER ROUTINE * NAME: ERSTR * SOURCE: 92071-18188 * RELOC: 92071-16188 * PGMR: E.D.B. * * *************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1980. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT* * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * *************************************************************** * NAM ERSTR,7 92071-1X188 REV.2041 800715 * ENT ERSTR * EXT .ENTR, .MVW SUP SKP * * DESCRIPTION * * THIS IS THE ERROR EXPANSION ROUTINE OF THE FMP LIBRARY. * * CALLING SEQUENCE: * * CALL ERSTR(IERR, IBUF, IL, L) * * WHERE: * * IERR IS THE FMP ERROR TO BE EXPANDED. * * IBUF WILL BE THE ERROR STRING RETURNED * * IL IS THE LENGTH OF IBUF * * L WILL BE THE ACTUAL LENGTH OF STRING RETURNED * * UPON RETURN, A-REG WILL BE EITHER ZERO (NO ERROR) * OR -1 (UNDEFINED MESSAGE) SKP * * ENTRY * IERR NOP IBUF NOP IL NOP L NOP * ERSTR NOP JSB .ENTR GET PARAMETERS DEF IERR * * PROCESS REQUEST * LDA IERR,I GET ERROR CODE * ADA MOSNG TEST FOR SSA DEFINED CODE JMP UDF TOO NEGATIVE - UNDEFINED * LDA IERR,I GET ERROR CODE AGAIN ADA NMPOS TEST FOR TOO HIGH SSA,RSS JMP UDF TOO HIGH - UNDEFINED * LDA IERR,I GET ERROR CODE AGAIN ADA TBAD ADD TABLE ADDRESS LDB A,I FETCH REQUESTED MESSAGE ADDRESS JMP PR * UDF LDB ERUDF FETCH UNDEFINED ERROR MESSAGE ADDRESS * PR CLA INDICATE GOOD MESSAGE CPB ERUDF IF MESSAGE IS UNDEFINED, CCA THEN INDICATE UNDEFINED MESSAGE STA UDFLG SAVE UNDEFINED FLAG * LDA B,I GET MESSAGE LENGTH ADA .5 ADD 5 INB BUMP TO FIRST WORD OF MESSAGE STB MSAD SAVE AS POINTER * LDB IL,I GET BUFFER LENGTH CMB,INB NEGATE ADB A COMPARE WITH MESSAGE LENGTH SSB,RSS IF BUFFER SMALLER THAN MESSAGE, LDA IL,I USE BUFFER LENGTH * STA L,I SAVE FOR USER ADA N5 AND SUBTRACT 5 STA IL SAVE FOR MOVE * * MOVE "FMGR" INTO BUFFER * DLD FMGR PUT "FMGR" AT DST IBUF,I HEAD OF MESSAGE ISZ IBUF BUMP BUFFER ADDRESS ISZ IBUF * * MOVE ERROR NUMBER INTO BUFFER * LDB IERR,I GET ERROR CODE AGAIN LDA PLUS GET PLUS SIGN AND CORRECTION SSB IF NEGATIVE, LDA MINUS GET MINUS SIGN AND CORRECTION STA TMP SAVE FOR A WHILE SSB IF NEGATIVE, CMB,INB THEN MAKE POSITIVE ASR 16 EXTEND SIGN DIV .1000 GET LOWER 3 DIGITS ASR 16 EXTEND SIGN DIV .100 GET 100'S DIGIT ADA TMP ADD SIGN CHARACTER AND CORRECTION STA IBUF,I SAVE IT ISZ IBUF AND BUMP BUFFER ADDRESS ASR 16 EXTEND SIGN DIV .10 GET 10'S AND 1'S DIGIT ALF,ALF SHIFT 10'S DIGIT OVER ADA B ADD 1'S DIGIT ADA CORR ADD NUMERIC CORRECTION STA IBUF,I SAVE IT ISZ IBUF AND BUMP BUFFER ADDRESS LDA BLANK GET BLANK STA IBUF,I SAVE IT ISZ IBUF AND BUMP BUFFER ADDRESS * * MOVE MESSAGE INTO BUFFER * LDA MSAD GET MESSAGE ADDRESS LDB IBUF AND BUFFER ADDRESS JSB .MVW AND MOVE THE MESSAGE DEF IL NOP SKP * * EXIT * EXIT LDA UDFLG USE UDFLG AS ERROR RETURN CODE JMP ERSTR,I RETURN SKP * * STORAGE AREA * .5 DEC 5 .10 DEC 10 .100 DEC 100 .1000 DEC 1000 * N5 DEC -5 * BLANK ASC 1, PLUS ASC 1, 0 MINUS ASC 1,-0 CORR ASC 1,00 * FMGR ASC 2,FMGR * MSTN EQU 104 MOST NEGATIVE ERROR CODE MPOS EQU 62 HIGHEST ERROR CODE MOSNG ABS MSTN MOST NEG. CODE NMPOS ABS -MPOS-1 NEG. OF MOST POSITIVE * TBAD DEF MS00 ERUDF DEF UDN * TMP NOP TEMPORARY STORAGE MSAD NOP MESSAGE ADDRESS UDFLG NOP UNDEFINED ERROR FLAG SKP * * TABLE OF ERROR MESSAGES (POSITION DEPENDENT) * DEF UDN ERRORS -109:-100 DEF UDN DEF UDN DEF UDN DEF UDN DEF EM104 DEF EM103 DEF EM102 DEF EM101 DEF EM100 * DEF ERM99 ERRORS -99:-90 DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN * DEF UDN ERRORS -89:-80 DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN * DEF UDN ERRORS -79:-70 DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN * DEF UDN ERRORS -69:-60 DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN * DEF UDN ERRORS -59:-50 DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF ERM50 * DEF ERM49 ERRORS -49:-40 DEF UDN DEF UDN DEF ERM46 DEF ERM45 DEF ERM44 DEF ERM43 DEF ERM42 DEF UDN DEF UDN * DEF UDN ERRORS -39:-30 DEF ERM38 DEF ERM37 DEF ERM36 DEF UDN DEF UDN DEF ERM33 DEF ERM32 DEF UDN DEF UDN * DEF UDN ERRORS -29:-20 DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN * DEF UDN ERRORS -19:-10 DEF ERM18 DEF ERM17 DEF ERM16 DEF ERM15 DEF ERM14 DEF ERM13 DEF ERM12 DEF ERM11 DEF ERM10 * DEF ERM9 ERRORS -9:-1 DEF ERM8 DEF ERM7 DEF ERM6 DEF ERM5 DEF ERM4 DEF ERM3 DEF ERM2 DEF ERM1 * MS00 DEF ER0 ERROR 0 (AND ERROR TABLE BASE ADDRESS) * DEF ER1 ERRORS 1:9 DEF UDN DEF UDN DEF UDN DEF UDN DEF ER6 DEF ER7 DEF UDN DEF UDN * DEF ER10 ERRORS 10:19 DEF UDN DEF ER12 DEF ER13 DEF ER14 DEF UDN DEF UDN DEF UDN DEF ER18 DEF ER19 * DEF ER20 ERRORS 20:29 DEF ER21 DEF ER22 DEF ER23 DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN * DEF UDN ERRORS 30:39 DEF UDN DEF UDN DEF ER33 DEF ER34 DEF ER35 DEF ER36 DEF ER37 DEF ER38 DEF ER39 * DEF ER40 ERRORS 40:49 DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF ER48 DEF ER49 * DEF ER50 ERRORS 50:59 DEF ER51 DEF UDN DEF ER53 DEF UDN DEF ER55 DEF ER56 DEF ER57 DEF UDN DEF UDN * DEF ER60 ERRORS 60:69 DEF ER61 DEF ER62 DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN DEF UDN SKP * * ERROR TABLE -CODES ARE ENTERED IN ANY ORDER. * UDN DEC 9 ASC 9,ERROR NOT DEFINED * ER0 DEC 3 ASC 3,BREAK * ERM1 DEC 5 ASC 5,DISC ERROR * ERM2 DEC 10 ASC 10,DUPLICATE FILE NAME * ERM3 DEC 9 ASC 9,BACKSPACE ILLEGAL * ERM4 DEC 36 ASC 18,MORE THAN 32767 RECORDS IN A TYPE 2 ASC 18,FILE OR IN USE OF A DOUBLE WORD CALL * ERM5 DEC 11 ASC 11,RECORD LENGTH ILLEGAL * ERM6 DEC 7 ASC 7,FILE NOT FOUND * ERM7 DEC 11 ASC 11,BAD FILE SECURITY CODE * ERM8 DEC 13 ASC 13,FILE OPEN OR LOCK REJECTED * ERM9 DEC 24 ASC 16,ATTEMPT TO USE APOSN OR FORCE TO ASC 8, 1 A TYPE 0 FILE * ERM10 DEC 11 ASC 11,NOT ENOUGH PARAMETERS * ERM11 DEC 6 ASC 6,DCB NOT OPEN * ERM12 DEC 8 ASC 8,EOF OR SOF ERROR * ERM13 DEC 6 ASC 6,DISC LOCKED * ERM14 DEC 7 ASC 7,DIRECTORY FULL * ERM15 DEC 6 ASC 6,ILLEGAL NAME * ERM16 DEC 11 ASC 11,ILLEGAL TYPE OR SIZE=0 * ERM17 DEC 17 ASC 17,ILLEGAL READ/WRITE ON TYPE 0 FILE * ERM18 DEC 19 ASC 19,ILLEGAL LU; LU NOT ASSIGNED TO SYSTEM * ERM32 DEC 10 ASC 10,CARTRIDGE NOT FOUND * ERM33 DEC 14 ASC 14,NOT ENOUGH ROOM ON CARTRIDGE * ERM36 DEC 10 ASC 10,LOCK ERROR ON DEVICE * ERM37 DEC 24 ASC 24,ILLEGAL OPERATION ON ACTIVE PROGRAM OR SWAP FILE * ERM38 DEC 14 ASC 14,ILLEGAL SCRATCH FILE NUMBER * ERM42 DEC 8 ASC 8,SWAPPING ACTIVE * ERM43 DEC 15 ASC 15,SYSTEM DOES NOT ALLOW SWAPPING * ERM44 DEC 12 ASC 12,WRONG FILE TYPE FOR SWAP * ERM45 DEC 10 ASC 10,SWAP FILE TOO SMALL * ERM46 DEC 12 ASC 12,GREATER THAN 255 EXTENTS * ERM49 DEC 10 ASC 10,COPYF VERIFY FAILED * ERM50 DEC 7 ASC 7,NO FILES FOUND * ERM99 DEC 19 ASC 19,DIRECTORY MANAGER EXEC REQUEST ABORTED * EM100 DEC 13 ASC 13,BOOT DISC NOT INITIALIZED * EM101 DEC 16 ASC 16,ILLEGAL PARAMETER IN D.RTR CALL * EM102 DEC 14 ASC 14,ILLEGAL D.RTR CALL SEQUENCE * EM103 DEC 11 ASC 11,DISC DIRECTORY CORRUPT * EM104 DEC 13 ASC 13,REQUESTED EXTENT NOT FOUND * ER1 DEC 11 ASC 11,DISC ERROR-LU REPORTED * ER6 DEC 7 ASC 7,FMGR SUSPENDED * ER7 DEC 7 ASC 7,CHECKSUM ERROR * ER10 DEC 6 ASC 6,INPUT ERROR * ER12 DEC 13 ASC 13,DUPLICATE DISC LABEL OR LU * ER13 DEC 9 ASC 9,TR STACK OVERFLOW * ER14 DEC 15 ASC 15,REQUIRED ID-SEGMENT NOT FOUND * ER18 DEC 10 ASC 10,PROGRAM NOT DORMANT * ER19 DEC 17 ASC 17,FILE NOT SET UP FOR CURRENT SYSTEM * ER20 DEC 9 ASC 9,ILLEGAL TYPE 0 LU * ER21 DEC 11 ASC 11,ILLEGAL DISC SPECIFIED * ER22 DEC 8 ASC 8,COPY TERMINATED * ER23 DEC 11 ASC 11,DUPLICATE PROGRAM NAME. * ER33 DEC 15 ASC 15,DISC HAS MORE THAN 1024 TRACKS * ER34 DEC 24 ASC 24,ATTEMPT TO CHANGE TIME WHEN TIME LIST NOT EMPTY * ER35 DEC 19 ASC 19,WRONG INTERFACE TYPE FOR REASSIGNMENT * ER36 DEC 17 ASC 17,TIME VALUES NOT ENTERED WITH 'IT' * ER37 DEC 6 ASC 6,DEVICE BUSY * ER38 DEC 23 ASC 16,ATTEMPT TO REMOVE ACTIVE PROGRAM ASC 7, OR SWAP FILE * ER39 DEC 9 ASC 9,CANNOT RP PROGRAM * ER40 DEC 19 ASC 19,ANOTHER PROGRAM ALREADY IN MEMORY AREA * ER48 DEC 12 ASC 12,GLOBAL SET OUT OF RANGE * ER49 DEC 12 ASC 12,CAN'T RUN RP'ED PROGRAM * ER50 DEC 11 ASC 11,NOT ENOUGH PARAMETERS * ER51 DEC 14 ASC 14,ILLEGAL MASTER SECURITY CODE * ER53 DEC 12 ASC 12,ILLEGAL LABEL OR ILABEL * ER55 DEC 9 ASC 9,MISSING PARAMETER * ER56 DEC 7 ASC 7,BAD PARAMETER * ER57 DEC 13 ASC 13,BAD TRACK NOT IN FILE AREA * ER60 DEC 26 ASC 16,DO YOU REALLY WANT TO PURGE THIS ASC 10, DISC? (YES OR NO). * ER61 DEC 16 ASC 16,DO A "DC" AND A "MC" ON THIS CR. * ER62 DEC 12 ASC 12,CARTRIDGE DIRECTORY FULL * A EQU 0 B EQU 1 * END EQU * * END