ASMB,R,L,C
      HED FMGR ERROR EXPANDER MODULE  PART OF RTE FMP 
*     NAME:   ??..
*     SOURCE: 92070-18036 
*     RELOC:  92070-16036 
*     PGMR:   G.A.A.
* 
*  ***************************************************************
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979.  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 ??..,8  92070-1X036  REV.1941  790803 
      ENT ??..
      EXT REIO,TMP.,WRITF,O.BUF,.ENTR,P.6,.E.R
      EXT CAM.O,IER.,BUF. 
      EXT FM.AB,OPEN. 
      SUP 
N     NOP 
LST   NOP 
      SPC 1 
??..  NOP           ENTRY POINT 
      JSB .ENTR     GEN PRAMS 
      DEF N 
      SPC 1 
      LDB P.6       GET ERROR PRAM
      ASR 16        EXTEND THE SIGN BIT 
      DIV .1000     DIVIDE
      LDA B         ERROR CODE TO A 
      LDB LST,I     GET FLAG
      ISZ LST       STEP TO 
      SZB             IF NOT SUPPLIED USE .E.R
      LDA LST,I        ELSE USE FIRST PRAM
      CPA AL        IF PRAM = ALL 
      JMP ALL         THEN PRINT ALL CODES ON LIST
      CPA .99       IF PRAM=99
      JMP ALL        THEN PRINT ALL CODES ON LIST 
      STA N         SAVE CODE 
      ADA MOSNG     TEST FOR
      SSA             DEFINED  CODE 
      JMP UDF       TOO NEGATIVE
      LDA N         GET ERROR CODE AGAIN
      ADA NMPOS     TEST FOR TOO HIGH 
      SSA,RSS 
      JMP UDF       TO  HIGH - UNDEFINED
PRINT LDA N         GET  N
      ALS           DOUBLE
      ADA TBAD      ADD TABLE ADDRESS 
PR    LDB A,I       GET MESSAGE ADDRESS 
      STB MSAD      SET AS POINTER
      INA               GET 
      LDB A,I        MESSAGE
      STB A           LENGTH
      CMA,INA       SET FOR 
      STA N          MOVE 
      ADB .2          AND 
      STB LST          OUTPUT 
      DLD FMGR      SET FMGR
BF    DST BUF.       AT 
      LDA BUF.D       HEAD
      RSS 
      LDA A,I          OF 
      RAL,CLE,SLA,ERA   MESSAGE 
      JMP *-2            GET
      ADA .2              BUFFER ADDRESS AND
MOVE  LDB MSAD,I    MOVE
      STB A,I        MESSAGE
      INA             TO
      ISZ MSAD         THE
      ISZ N             BUFFER
      JMP MOVE
      JSB REIO      PRINT 
      DEF FMRTN      ON 
      DEF .2          LOG 
      DEF CAM.O 
BUF.D DEF BUF.          DEVICE
      DEF LST 
FMRTN LDB P.6       IF
      CLA           CLEAR ERROR CODE
      STA P.6 
      CPB .60        60 
      JMP FM.AB       THE ABORT 
      JMP ??..,I    ELSE, RETURN
      SPC 2 
UDF   LDA DFUDF     PICK UNDEFINED
      JMP PR        AND SEND IT.
      SKP 
ALL   LDA TMP.D 
      RSS            POSSIBLE 
      LDA A,I         ERROR 
      RAL,CLE,SLA,ERA  CODES. 
      JMP *-2       GET PARAMETER 
      ADA .3         ADDRESS
      STA LST         AND 
      JSB OPEN.        OPEN 
      DEF OPRTN         LIST
      DEF O.BUF          FILE 
TMP.D DEF TMP.
      DEF LST,I 
      DEF .0
OPRTN DLD PTRS      SET THE 
      DST CPTRS      POINTERS FOR LENGTH/BUFFER AD
WRIT  LDA CPTRS     GET CURRENT ERROR 
      RAL,CLE,ERA   CLEAR INDIRECT BIT
      LDA A,I       GET MESSAGE ADDRESS 
      CPA AUDN      EQUAL TO UNDEFINED? 
      JMP NEXT      YES, DON'T PRINT
      JSB WRITF     WRITE 
      DEF WRRTN      THE
      DEF O.BUF       MESSAGE 
      DEF .E.R         ON 
CPTRS NOP               THE 
      NOP                LIST 
WRRTN JSB IER.            DEVICE
NEXT  LDA CPTRS+1,I IF CURRENT LENGTH 
      SSA           NEGATIVE THEN 
      JMP FMRTN     DONE - RETURN.
      ISZ CPTRS 
      ISZ CPTRS     STEP THE
      ISZ CPTRS+1 
      ISZ CPTRS+1   BUFFER AND LENGTH POINTERS
      JMP WRIT      ELSE GO WRITE NEXT MESSAGE
      SPC 3 
.1000 DEC 1000
.99   DEC 99
.2    DEC 2 
.3    DEC 3 
.60   DEC 60
AL    ASC 1,AL
      SPC 1 
A     EQU 0 
B     EQU 1 
MSTN  EQU 103       MOST NEGATIVE ERROR CODE
MPOS  EQU 62        HIGHEST ERROR CODE
MOSNG ABS MSTN         MOST NEG. CODE 
NMPOS ABS -MPOS-1   NEG. OF MOST POSITIVE 
      SPC 1 
BFPT  NOP 
MSAD  NOP 
DFUDF DEF *+1 
      DEF UDN 
      ABS LUDN
FMGR  ASC 2,FMGR
TBAD  DEF MS00
PTRS  DEF LSHED,I 
      DEF LSHED+1 
      SKP 
LSHED DEF HEAD      THIS LIST 
      ABS LHEAD      IS IN
      DEF BLNK        THE 
      ABS LBLNK        ORDER
      DEF HD2           OF
      ABS LHD2           PRINTING 
      DEF BLNK            AND 
      ABS LBLNK            ALSO 
      SPC 2 
      DEF EM103 
      ABS LM103 
      DEF EM102 
      ABS LM102 
      DEF EM101 
      ABS LM101 
      DEF EM100 
      ABS LM100 
      DEF ERM99 
      ABS LM99
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF ERM46 
      ABS LM46
      DEF ERM45 
      ABS LM45
      DEF ERM44 
      ABS LM44
      DEF ERM43 
      ABS LM43
      DEF ERM42 
      ABS LM42
AUDN  DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF ERM38 
      ABS LM38
      DEF ERM37 
      ABS LM37
      DEF ERM36 
      ABS LM36
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF ERM33 
      ABS LM33
      DEF ERM32 
      ABS LM32
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF ERM18 
      ABS LM18
      DEF ERM17             NUMERICAL 
      ABS LM17               ORDER
      DEF ERM16 
      ABS LM16
      DEF ERM15 
      ABS LM15
      DEF ERM14 
      ABS LM14
      DEF ERM13 
      ABS LM13
      DEF ERM12 
      ABS LM12
      DEF ERM11 
      ABS LM11
      DEF ERM10 
      ABS LM10
      DEF ERM9
      ABS LM9 
      DEF ERM8
      ABS LM8 
      DEF ERM7
      ABS LM7 
      DEF ERM6
      ABS LM6 
      DEF ERM5
      ABS LM5 
      DEF ERM4
      ABS LM4 
      DEF ERM3
      ABS LM3 
      DEF ERM2
      ABS LM2 
      DEF ERM1
      ABS LM1 
MS00  DEF ER0 
      ABS L0
      DEF ER1 
      ABS L1
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF ER6 
      ABS L6
      DEF ER7 
      ABS L7
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF ER10
      ABS L10 
      DEF UDN 
      ABS LUDN
      DEF ER12
      ABS L12 
      DEF ER13
      ABS L13 
      DEF ER14
      ABS L14 
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF ER18
      ABS L18 
      DEF ER19
      ABS L19 
      DEF ER20
      ABS L20 
      DEF ER21
      ABS L21 
      DEF ER22
      ABS L22 
      DEF ER23
      ABS L23 
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF ER33
      ABS L33 
      DEF ER34
      ABS L34 
      DEF ER35
      ABS L35 
      DEF ER36
      ABS L36 
      DEF ER37
      ABS L37 
      DEF ER38
      ABS L38 
      DEF ER39
      ABS L39 
      DEF ER40
      ABS L40 
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF ER48
      ABS L48 
      DEF ER49
      ABS L49 
      DEF ER50
      ABS L50 
      DEF ER51
      ABS L51 
      DEF UDN 
      ABS LUDN
      DEF ER53
      ABS L53 
      DEF UDN 
      ABS LUDN
      DEF ER55
      ABS L55 
      DEF ER56
      ABS L56 
      DEF ER57
      ABS L57 
      DEF UDN 
      ABS LUDN
      DEF UDN 
      ABS LUDN
      DEF ER60
      ABS L60 
      DEF ER61
      ABS L61 
      DEF ER62
      ABS L62 
DF100 DEF EM100     EOF RECORD
      DEC -1
.0    NOP           END OF THE LIST 
      SKP 
*     ERROR TABLE -CODES ARE ENTERED IN ANY ORDER.
ER0   ASC  5, 000 BREAK 
L0    EQU *-ER0 
ERM1  ASC  8, -01 DISC ERROR
LM1   EQU *-ERM1
ERM2  ASC 12, -02 DUPLICATE FILE NAME 
LM2   EQU *-ERM2
ERM3  ASC 11, -03 BACKSPACE ILLEGAL 
LM3   EQU *-ERM3
ERM4  ASC 19, -04 MORE THAN 32767 RECORDS IN A TYPE 
      ASC 20, 2 FILE OR IN USE OF A DOUBLE WORD CALL
LM4   EQU *-ERM4
ERM5  ASC 13, -05 RECORD LENGTH ILLEGAL 
LM5   EQU *-ERM5
ERM6  ASC 10, -06 FILE NOT FOUND
LM6   EQU *-ERM6
ERM7  ASC 14, -07 BAD FILE SECURITY CODE
LM7   EQU *-ERM7
ERM8  ASC 16, -08 FILE OPEN OR LOCK REJECTED
LM8   EQU *-ERM8
ERM9  ASC 19, -09 ATTEMPT TO USE APOSN OR FORCE TO
      ASC  8,1 A TYPE 0 FILE
LM9   EQU *-ERM9
ERM10 ASC 13, -10 NOT ENOUGH PARAMETERS 
LM10  EQU *-ERM10 
ERM11 ASC  9, -11 DCB NOT OPEN
LM11  EQU *-ERM11 
ERM12 ASC 11, -12 EOF OR SOF ERROR
LM12  EQU *-ERM12 
ERM13 ASC  8, -13 DISC LOCKED 
LM13  EQU *-ERM13 
ERM14 ASC 10, -14 DIRECTORY FULL
LM14  EQU *-ERM14 
ERM15 ASC  9, -15 ILLEGAL NAME
LM15  EQU *-ERM15 
ERM16 ASC 14, -16 ILLEGAL TYPE OR SIZE=0
LM16  EQU *-ERM16 
ERM17 ASC 19, -17 ILLEGAL READ/WRITE ON TYPE 0 FILE 
LM17  EQU *-ERM17 
ERM18 ASC 21, -18 ILLEGAL LU. LU NOT ASSIGNED TO SYSTEM 
LM18  EQU *-ERM18 
ERM32 ASC 12, -32 CARTRIDGE NOT FOUND 
LM32  EQU *-ERM32 
ERM33 ASC 17, -33 NOT ENOUGH ROOM ON CARTRIDGE
LM33  EQU *-ERM33 
ERM36 ASC 13, -36 LOCK ERROR ON DEVICE
LM36  EQU *-ERM36 
ERM37 ASC 24, -37 ATTEMPT TO PURGE ACTIVE TYPE 6 OR SWAP FILE 
LM37  EQU *-ERM37 
ERM38 ASC 16, -38 ILLEGAL SCRATCH FILE NUMBER 
LM38  EQU *-ERM38 
ERM42 ASC 10, -42 SWAPPING ACTIVE 
LM42  EQU *-ERM42 
ERM43 ASC 18, -43 SYSTEM DOES NOT ALLOW SWAPPING
LM43  EQU *-ERM43 
ERM44 ASC 15, -44 WRONG FILE TYPE FOR SWAP
LM44  EQU *-ERM44 
ERM45 ASC 12, -45 SWAP FILE TOO SMALL 
LM45  EQU *-ERM45 
ERM46 ASC 15, -46 GREATER THAN 255 EXTENTS
LM46  EQU *-ERM46 
ERM99 ASC 22, -99 DIRECTORY MANAGER EXEC REQUEST ABORTED
LM99  EQU *-ERM99 
EM100 ASC 15,-100 BOOT DISC NOT INITIALIZED 
LM100 EQU *-EM100 
EM101 ASC 18,-101 ILLEGAL PARAMETER IN D.RTR CALL 
LM101 EQU *-EM101 
EM102 ASC 16,-102 ILLEGAL D.RTR CALL SEQUENCE 
LM102 EQU *-EM102 
EM103 ASC 14,-103 DISC DIRECTORY CORRUPT
LM103 EQU *-EM103 
      SPC 1 
ER1   ASC 14, 001 DISC ERROR-LU REPORTED
L1    EQU *-ER1 
ER6   ASC 10, 006 FMGR SUSPENDED
L6    EQU *-ER6 
ER7   ASC 10, 007 CHECKSUM ERROR
L7    EQU *-ER7 
ER10  ASC  8, 010 INPUT ERROR 
L10   EQU *-ER10
ER12  ASC 16, 012 DUPLICATE DISC LABEL OR LU
L12   EQU *-ER12
ER13  ASC 11, 013 TR STACK OVERFLOW 
L13   EQU *-ER13
ER14  ASC 17, 014 REQUIRED ID-SEGMENT NOT FOUND 
L14   EQU *-ER14
ER18  ASC 12, 018 PROGRAM NOT DORMANT 
L18   EQU *-ER18
ER19  ASC 20, 019 FILE NOT SET UP FOR CURRENT SYSTEM
L19   EQU *-ER19
ER20  ASC 11, 020 ILLEGAL TYPE 0 LU 
L20   EQU *-ER20
ER21  ASC 14, 021 ILLEGAL DISC SPECIFIED
L21   EQU *-ER21
ER22  ASC 10, 022 COPY TERMINATED 
L22   EQU *-ER22
ER23  ASC 14, 023 DUPLICATE PROGRAM NAME. 
L23   EQU *-ER23
ER33  ASC 18, 033 DISC HAS MORE THAN 1024 TRACKS
L33   EQU *-ER33
ER34  ASC 26, 034 ATTEMPT TO CHANGE TIME WHEN TIME LIST NOT EMPTY 
L34   EQU *-ER34
ER35  ASC 21, 035 WRONG INTERFACE TYPE FOR REASSIGNMENT 
L35   EQU *-ER35
ER36  ASC 19, 036 TIME VALUES NOT ENTERED WITH 'IT' 
L36   EQU *-ER36
ER37  ASC  8, 037 DEVICE BUSY 
L37   EQU *-ER37
ER38  ASC 18, 038 ATTEMPT TO REMOVE ACTIVE TYPE 6 
      ASC  7, OR SWAP FILE
L38   EQU *-ER38
ER39  ASC 11, 039 CANNOT RP PROGRAM 
L39   EQU *-ER39
ER40  ASC 22, 040 ANOTHER PROGRAM ALREADY IN MEMORY AREA
L40   EQU *-ER40
ER48  ASC 14, 048 GLOBAL SET OUT OF RANGE 
L48   EQU *-ER48
ER49  ASC 14, 049 CAN'T RUN RP'ED PROGRAM 
L49   EQU *-ER49
ER50  ASC 13, 050 NOT ENOUGH PARAMETERS 
L50   EQU *-ER50
ER51  ASC 17, 051 ILLEGAL MASTER SECURITY CODE
L51   EQU *-ER51
ER53  ASC 14, 053 ILLEGAL LABEL OR ILABEL 
L53   EQU *-ER53
ER55  ASC 11, 055 MISSING PARAMETER 
L55   EQU *-ER55
ER56  ASC  9, 056 BAD PARAMETER 
L56   EQU *-ER56
ER57  ASC 16, 057 BAD TRACK NOT IN FILE AREA
L57   EQU *-ER57
ER60  ASC 19, 060 DO YOU REALLY WANT TO PURGE THIS
      ASC  9,DISC? (YES OR NO). 
L60   EQU *-ER60
ER61  ASC 18, 061 DO A "DC" AND A "MC" ON THIS CR.
L61   EQU *-ER61
ER62  ASC 15, 062 CARTRIDGE DIRECTORY FULL
L62   EQU *-ER62
      SPC 2 
HEAD  ASC  9, FMGR ERROR CODES
LHEAD EQU *-HEAD
HD2   ASC  9, ERROR     MEANING 
LHD2  EQU *-HD2 
BLNK  ASC  1, 
LBLNK EQU *-BLNK
UDN   ASC 9, ERROR NOT DEFINED
LUDN  EQU *-UDN 
      ORG *         PROGRAM LENGTH
      END 
                                                                        