@X @~
~V7 56 2 -5
~D10
~H                    MUSS
~
~
~D10
~H             DEB091
~D10
~MMANCHESTER UNIVERSITY  -  CONFIDENTIAL
~
~
                                                            ISSUE 11~
~V9 -1
~P
~V9 1
~YDEB091
~S~M~ODEB IMPLEMENTATION DESCRIPTION
~S~M~OSection 9 Version 1
~S~OSection 9.1 Fault Monitor
~S~O1. General Description
~BThis section contains the fault reporting procedures
utilised by the other modules of the debugger.
~S~O2. Interfaces
~
Other Modules Used:~
~
Interface Procedures:~
   FAULT~
~S11) FAULT(FAULT.MESS,POSITION)
~BThis procedure monitors a fault.  Bits 0-11 of P1 specify the
fault message.  Normally control is returned to the calling
procedure unless bit 12 is set in which case control is returned
to DEBUG.CMDS to process the next statement.  A positive P2 specifies
the location of the fault within the itemised line, the source line
is printed with a location indicator.  If P2 is minus one just the source
line is printed, and if P2 is minus two no source line is printed.
~Y
~V9 -1
~P
~D15
~HFLOWCHARTS
~
~
~H                DEB091
~V9 -1
~F
@TITLE DEB09(1,11)
@COL 1S-2R-3R-4R-5R-6F
@FLOW 1-2-3-4-5-6
@BOX 1.0
SOURCE LANGUAGE DEBUGGER
FAULT MONITOR
@BOX 2.0
IMPORTS [DEB09/1]
MODULE HEADING
@BOX 3.0
TYPE DECLARATIONS
@BOX 4.0
VARIABLE DECLARATIONS
@BOX 5.0
INTERFACE PROCEDURES
1  FAULT
@BOX 6.0
END
@BOX 1.1
::DEB09
@BOX 2.1
#DEB09/1
MODULE (FAULT);
@BOX 3.1
::NONE
@BOX 4.1
::NONE
@BOX 5.1
PSPEC FAULT (INTEGER, INTEGER);
#DEB09.1
@BOX 6.1
*END
@END

@TITLE DEB09/1(1,11)
@COL 1S-2R-3R-4R-5R-6F
@FLOW 1-2-3-4-5-6
@BOX 1.0
DEB09 IMPORTS
@BOX 2.0
LITERALS
@BOX 3.0
TYPES
@BOX 4.0
VARIABLES
@BOX 5.0
PROCEDURES
@BOX 6.0
END
@BOX 1.1
::IMPORTS
@BOX 2.1
::NONE
@BOX 3.1
::NONE
@BOX 4.1
LABEL CMD.FLT.LB;
ADDR [LOGICAL8] F.LINE, F.SOURCE;
@BOX 5.1
::NONE
@BOX 6.1
::END
@END
@TITLE DEB09.1(1,11)
@COL 1S-2R-3F
@FLOW 1-2-3
@BOX 1.0
FAULT (FAULT.NO, POSITION)
@BOX 2.0
FAULT MESSAGES [DEB09.1.1]
@BOX 3.0
END
@BOX 1.1
PROC FAULT (F.NO, POS);
@BOX 2.1
#DEB09.1.1
@BOX 3.1
END
@END

@TITLE DEB09.1.1(1,11)
@COL 1S
@COL 1S-2R-3R-4R
@BOX 1.0
FAULT MESSAGE TABLES
@BOX 2.0
MESSAGES
@BOX 3.0
MESSAGE LENGTH LITERALS
@BOX 4.0
MESSAGE INDEX TABLE
@BOX 1.1
::DEB09.1.1
@BOX 2.1
DATAVEC MESS (LOGICAL8)
"Debugger not active"  ::0
"Command syntax error"
"Breakpoint already in use"
"Source line invalid"
"Source procedure invalid" ::4
"Too many traps set"
"Variable not found"
"Type not found"
"Text file not found"
"Attempt to select field of simple type" :: 9
"Field name unknown"
"Attempt to select element of scalar variable"
"Element number invalid"
"Attempt to dereference non-pointer type" ::13
END
@BOX 3.1
LITERAL P0 = 0, P1 = P0 + 19, P2 = P1 + 20, P3 = P2 + 20,
        P4 = P3 + 19, P5 = P4 + 24, P6 = P5 + 18, P7 = P6 + 18,
        P8 = P7 + 14, P9 = P8 + 19, P10 = P9 + 37, P11 = P10 + 18,
        P12 = P11 + 44, P13 = P12 + 22, P14 = P13 + 39, P15 = P14 + 0;
@BOX 4.1
DATAVEC MESS.IND (LOGICAL16)
P0 P1 P2 P3 P4 P5 P6 P7
P8 P9 P10 P11 P12 P13 P14 P15
END
@END


