XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)    3500  PRIMARY COMMAND CHARACTER SWITCH

   (1)    4260  PRIMARY COMMAND SCANNER

   (1)    5680  ENDEXPR	- END EXPRESSION

   (1)    6260  SLASH - OPEN CELL

   (1)    6880  RETURN - CLOSE CURRENT OPEN CELL

   (1)    7220  ENDFIELD - TERMINATE CURRENT FIELD

   (1)    7640  FETCH - OBTAIN DATA SPECIFIED

   (1)    8360  NEXTDOT - INCREMENT CURRENT LOCATION

   (1)    8640  OUTPUT - DISPLAY CONTENT

   (1)    8760  LINE FEED - DISPLAY NEXT

   (1)    9300  OUTPUTA - OUTPUT ADDRESS

   (1)   11040  GETCHAR - GET INPUT CHARACTER ROUTINE

   (1)   12460  PLUS/MINUS OPERATORS

   (1)   12860  TAB - INDIRECT DISPLAY

   (1)   13280  EQUALS - DISPLAY VALUE

   (1)   13720  SEMI - SECONDARY COMMAND SET

   (1)   14340  LEFT BRACKET - MODE SELECTION

   (1)   14820  SINGLE STEP

   (1)   14980  BRKPOINT - SET/CLEAR BREAKPOINTS

   (1)   16260  GO - START EXECUTION AT SPECIFIED LOCATION

   (1)   16520  SEMI-I, PC VALUE

   (1)   17680  REGISTER SAVE AND RESTORE

   (1)   20400  BPT TRAP HANDLER

   (1)   21800  TBIT EXCEPTION HANDLER

   (1)   22460  UNBRK - RESTORE OPCODES FOR BREAKPOINTS

   (1)   22940  SETBRK - SET BREAK POINT INSTRUCTIONS

   (1)   23520  GETBPTX - GET INDEX FOR BREAKPOINT

   (1)   23740  QUOTE - INPUT CHARACTER STRING

   (1)   24020  DEPOSIT

   (1)   25260  EXECUTE - PERFORM COMMAND STRING

   (1)   25500  P - PROCESSOR REGISTER PREFIX

   (1)   25660  PROCESS DEBUGGER INITIALIZATION

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page   1

                                                                                                                                 (1)



                                     0000    20 	.IF	DF,SW_PROCESS		;

                                     0000    40 	.TITLE	DELTA - MULTIMODE PROCESS DEBUGGER

                                     0000    60 	.IFF				;

                                     0000    80 	.TITLE	XDELTA - EXECUTIVE DEBUGGER

                                     0000   100 	.ENDC				;

                                     0000   120 	.LIST	MEB			;

                                     0000   140 ;

                                     0000   160 ;	DEFINITIONS

                                     0000   180 ;

                                     0000   200 	$CADEF				; DEFINE ASSEMBLY SWITCHES

                                     0000       	.SAVE

                                 00000000       	.PSECT	$ABS$,ABS

                                     0000       	.RESTORE

                                     0000   220 	$PRDEF				; DEFINE PROCESSOR REGISTERS

                                     0000       	.SAVE

                                 00000000       	.PSECT	$ABS$,ABS

                                     0000       	.RESTORE

                                     0000   240 	$PRTDEF				; DEFINE PROTECTION VALUES

                                     0000       	.SAVE

                                 00000000       	.PSECT	$ABS$,ABS

                                     0000       	.RESTORE

                                     0000   260 	$PSLDEF				; DEFINE PSL FIELDS

                                     0000       	.SAVE

                                 00000000       	.PSECT	$ABS$,ABS

                                     0000       	.RESTORE

                                     0000   280 	$SSDEF				; DEFINE SYSTEM SERVICE STATUS CODES

                                     0000       	.SAVE

                                 00000000       	.PSECT	$ABS$,ABS

                                     0000       	.RESTORE

                                     0000   300 

                                     0000   320 ;

                                     0000   340 ; EQUATES:

                                     0000   360 ;

                           00000008  0000   380 V_F1=8					; FIELD 1 PRESENT FLAG

                           00000009  0000   400 V_F2=9					; FIELD 2 PRESENT FLAG

                           0000000A  0000   420 V_F3=10					; FIELD 3 PRESENT FLAG

                           0000000B  0000   440 V_F4=11					; FIELD 4 PRESENT FLAG

                           0000000C  0000   460 V_F5=12					; FIELD 5 PRESENT FLAG

                                     0000   480 

                           00000000  0000   500 V_OPEN=0				; OPEN CELL FLAG

                           00000001  0000   520 V_ASCII=1				; ASCII

                           00000002  0000   540 V_INFIELD=2				; FIELD IN PROGRESS

                           00000003  0000   560 V_TBIT=3				; ENABLE TBIT

                           00000004  0000   580 V_ATBRK=4				; AT BREAKPOINT

                           00000005  0000   600 V_TBITOK=5				; TBIT EXPECTED

                           00000006  0000   620 V_RUB=6					; RUBOUT IN PROGRESS

                           00000007  0000   640 V_NEGATE=7				; NEGATE BIT

                           0000000F  0000   660 V_PRMODE=15				; PROCESSOR REGISTER MODE

                           0000001F  0000   680 V_PREG=31				; PROCESSOR REGISTER FLAG

                                     0000   700 

                           00000000  0000   720 RDCR=0					; READ CSR

                           00000002  0000   740 RDBUF=2					; READ BUFFER

                           00000004  0000   760 OUTCR=4					; OUTPUT CSR

                           00000006  0000   780 OUTB=6					; OUTPUT BUFFER

                                     0000   800 

                           0000005C  0000   820 BSLSH=92				; BACK SLASH CODE

                           0000000D  0000   840 CR=13					; CARRIAGE RETURN

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page   2

                                                                                                                                 (1)



                           0000000A  0000   860 LF=10					; LINE FEED

                           00000027  0000   880 QUOT=39					; QUOTE

                           0000007F  0000   900 RUBOUT=127				; RUBOUT CODE

                           0000002F  0000   920 SLSH=47					; SLASH CODE

                                     0000   940 

                                     0000   960 

                                     0000   980 

                                     0000  1000 ;

                                     0000  1020 ;	DATA AREA

                                     0000  1040 ;

                                     0000  1042 	.IF	DF,SW_PROCESS

                                     0000  1060 	.PSECT	_DELTA,LONG

                                     0000  1062 	.IFF

                                 00000000  1064 	.PSECT	$$$030NP,LONG

                                     0000  1066 	.ENDC

                                     0000  1080 CONTEXT:				;

                           00000000  0000  1100 	.LONG	0			; BUFFER PADDING

                           00000034  0004  1120 INBUF:	.BLKB	48			; INPUT BUFFER

                           00000000  0034  1140 STATUS:	.LONG	0			; STATUS FLAGS

                           00000000  0038  1160 F1:	.LONG	0			; FIELDS

                           00000000  003C  1180 F2:	.LONG	0			; 0-7

                           00000000  0040  1200 F3:	.LONG	0			;

                           00000000  0044  1220 F4:	.LONG	0			;

                           00000000  0048  1240 F5:	.LONG	0			;

                                     004C  1260 

                           00000000  004C  1280 MASK:	.LONG	0			; SEARCH MASK

                                     0050  1300 

                                 00  0050  1320 FCTR:	.BYTE	0			; FIELD COUNTER

                                     0051  1340 

                                 02  0051  1360 DTYPE:	.BYTE	2			; DATA TYPE

                                 02  0052  1380 CURTYPE:.BYTE	2			; CURRENT TYPE

                                     0053  1400 

                                 00  0053  1420 OPER:	.BYTE	0			; OPERATOR

                                     0054  1440 B:					; BASE OF DATA AREA(CENTER)

                           00000000  0054  1460 CURDOT:	.LONG	0			; CURRENT LOCATION

                           00000000  0058  1480 QUAN:	.LONG	0			; QUANTITY (;Q)

                           0000006C  005C  1500 OUTBUF:	.BLKL	4			; OUTPUT BUFFER

                                     006C  1520 ;

                                     006C  1540 ;	REGISTER SAVE AREA

                                     006C  1560 ;

                                     006C  1580 SAVREG:					; REGISTER SAVE AREA

                           00000070  006C  1600 	.BLKL	1			; R0

                           00000074  0070  1620 	.BLKL	1			; R1

                           00000078  0074  1640 SAVR2:	.BLKL	1			; R2

                           0000007C  0078  1660 	.BLKL	1			; R3

                           00000080  007C  1680 	.BLKL	1			; R4

                           00000084  0080  1700 	.BLKL	1			; R5

                           00000088  0084  1720 	.BLKL	1			; R6

                           0000008C  0088  1740 	.BLKL	1			; R7

                           00000090  008C  1760 	.BLKL	1			; R8

                           00000094  0090  1780 	.BLKL	1			; R9

                           00000098  0094  1800 	.BLKL	1			; R10

                           0000009C  0098  1820 	.BLKL	1			; R11

                           000000A0  009C  1840 SAVAP:	.BLKL	1			; AP

                           000000A4  00A0  1860 	.BLKL	1			; (FP)

                           000000A8  00A4  1880 SAVSP:	.BLKL	1			; SP

                           000000AC  00A8  1900 SAVPC:	.BLKL	1			; PC

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page   3

                                                                                                                                 (1)



                           000000B0  00AC  1920 SAVPSL:	.BLKL	1			; PSL

                           000000B2  00B0  1940 SAVOCR:	.BLKW	1			; OUTPUT CSR SAVE

                           000000B4  00B2  1960 SAVRCR:	.BLKW	1			; INPUT CSR SAVE

                                     00B4  1980 ASTEN:					; AST ENABLE SAVE LOCATION

                           000000B8  00B4  2000 SAVRXCS:.BLKL	1			; CONSOLE RECEIVER STATUS

                                     00B8  2020 

                           000000B8  00B8  2040 CONTEXTSZ=.-CONTEXT			; SIZE OF PER MODE CONTEXT AREA

                                     00B8  2060 ;

                                     00B8  2080 ;	RESERVE SPACE FOR MULTIPLE MODE CONTEXT AREA

                                     00B8  2100 ;

                                     00B8  2120 	.IF	DF,SW_PROCESS		;

                                     00B8  2140 	.REPT	3			;

                                     00B8  2160 	.BLKB	CONTEXTSZ		; FOR EXEC,SUPER AND USER

                                     00B8  2180 SAV...=	.

                                     00B8  2200 	.=.-CONTEXTSZ+<DTYPE-CONTEXT>	; POINT AT DTYPE,CURTYP

                                     00B8  2220 	.BYTE	2,2			; SET TYPE TO LONGWORD

                                     00B8  2240 	.=SAV...			; RESTORE LOCATION COUNTER

                                     00B8  2260 	.ENDR				;

                                     00B8  2280 	.ENDC				;

                                     00B8  2300 

                                     00B8  2320 

                                     00B8  2340 ;

                                     00B8  2360 ;	BREAK POINT DATA

                                     00B8  2380 ;

                           000000B4  00B8  2400 BRKADR=.-4	

                           00000000' 00B8  2420 	.LONG	INI$BRK			; INITIAL BREAKPOINT

                           000000D8  00BC  2440 	.BLKL	7			; OTHER BREAK POINT ADDRESSES

                           00000008  00D8  2460 NBRK=<.-4-BRKADR>/4			; NUMBER OF BREAKPOINTS

                           000000D7  00D8  2480 BRKOP=.-1				; SAVED OPCODE

                                 01  00D8  2500 	NOP				; INITIAL OPCODE

                           000000E0  00D9  2520 	.BLKB	7			; REMAINING OPCODES

                                     00E0  2540 

                                     00E0  2560 

                           000000DC  00E0  2580 BRKDSP=.-4

                           00000100  00E0  2600 	.BLKL	8			; DISPLAY LOCATION START

                           000000FC  0100  2620 BRKCOM=.-4

                           00000120  0100  2640 	.BLKL	8			; COMMAND START

                                     0120  2660 

                           00000138  0120  2680 XREGV:	.BLKL	6			; X REGISTER VECTOR

                                     0138  2700 	.IF	NDF,SW_PROCESS		;

                           00000000' 0138  2720 	.LONG	PFN$AW_SWPVBN		; X6 = SWAP VBN

                           00000000' 013C  2740 	.LONG	PFN$AL_PTE		; X7 = PTE BACK POINTER

                           00000000' 0140  2760 	.LONG	PFN$AL_BAK		; X8 = BACKUP ADDRESS

                           00000000' 0144  2780 	.LONG	PFN$AW_REFCNT		; X9 = REFERENCE COUNT

                           00000000' 0148  2800 	.LONG	PFN$AW_FLINK		; XA = FORWARD LINK

                           00000000' 014C  2820 	.LONG	PFN$AW_BLINK		; XB = BACK LINK

                           00000000' 0150  2840 	.LONG	PFN$AB_STATE		; XC = STATE

                           00000000' 0154  2860 	.LONG	PFN$AB_TYPE		; XD = TYPE

                           00000000' 0158  2880 	.LONG	XDS$INIT		; XE;E WITH X0 = PFN

                           00000000' 015C  2900 	.LONG	XDS$INIT		; XF;E WITH R0 = PFN

                           00000164  0160  2920 MCHKSAV:.BLKL	1			; SAVED CONTENT OF MACHINE CHECK VECTOR

                                     0164  2940 	.IFF				; FOR PROCESS VERSION

                                     0164  2960 	.BLKL	10			;

                                     0164  2980 TTIOSB:	.BLKL	2			; IO STATUS BLOCK FOR TERMINAL READ

                                     0164  3000 TTCHAN:	.BLKL	1			; CHANNEL NUMBER

                                     0164  3020 TTNAMD:	.LONG	2,TTSTR			;

                                     0164  3040 TTSTR:	.ASCII	/TT/			;

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page   4

                                                                                                                                 (1)



                                     0164  3060 DBGACTIVE:				; ACTIVE FLAGS BY ACCESS MODE

                                     0164  3080 	.LONG	0			;

                                     0164  3100 EXITBLK:				; EXIT HANDLER BLOCK

                                     0164  3120 	.LONG	0			;

                                     0164  3140 	.LONG	EXIHANDLE		; EXIT HANDLER

                                     0164  3160 	.LONG	1			; ARGUMENT COUNT

                                     0164  3180 	.LONG	EXITCODE		; ADDRESS TO STORE EXIT CODE

                                     0164  3200 EXITCODE:				;

                                     0164  3220 	.LONG	1			; RECEIVER FOR EXIT CODE

                                     0164  3240 KCOND:	.LONG	0			; PREVIOUS KERNEL HANDLER

                                     0164  3260 ECOND:	.LONG	0			; PREVIOUS EXEC HANDLER

                                     0164  3280 SCOND:	.LONG	0			; PREVIOUS SUPER HANDLER

                                     0164  3300 TERMASKD:				; TERMINATOR MASK DESCRIPTOR

                                     0164  3320 	.LONG	16			; MASK LENGTH

                                     0164  3340 	.LONG	TERMASK			; MASK ADDRESS

                                     0164  3360 TERMASK:.LONG	<1@9>!<1@10>!<1@13>!<1@27>	; TAB,LF,CR,ESC

                                     0164  3380 	.LONG	<1@2>!<1@15>!<1@29>	; DOUBLE QUOTE,SLASH,EQUALS

                                     0164  3400 	.LONG	<1@19>			; 'S'

                                     0164  3420 	.LONG	0			;

                                     0164  3440 

                                     0164  3460 	.ENDC				;

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page   5

                PRIMARY COMMAND CHARACTER SWITCH                                                                                 (1)



                                     0164  3500 	.SBTTL	PRIMARY COMMAND CHARACTER SWITCH

                                     0164  3520 

                                     0164  3540 ;

                                     0164  3560 ;	PRIMARY CHARACTER LIST

                                     0164  3580 ;

                                     0164  3600 PRIMARY:				;

42 41 39 38 37 36 35 34 33 32 31 30  0164  3620 	.ASCII	/0123456789ABCDEF/	; DECIMAL AND HEX CHARS

                        46 45 44 43  0170       

                                 2E  0174  3640 	.ASCII	/./			; DOT - CURRENT LOCATION

                                 2C  0175  3660 	.ASCII	/,/			; COMMA - FIELD SEPARATOR

                           00000012  0176  3680 OPERBAS=.-PRIMARY			; OPERATORS

                                 2B  0176  3700 	.ASCII	/+/			; PLUS - ADD

                                 20  0177  3720 	.ASCII	/ /			; BLANK - SAME AS PLUS

                                 40  0178  3740 	.ASCII	/@/			; SHIFT OPERATOR

                                 2A  0179  3760 	.ASCII	/*/			; MULTIPLY OPERATOR

                                 25  017A  3780 	.ASCII	/%/			; DIVIDE OPERATOR

                                 2D  017B  3800 	.ASCII	/-/			; MINUS - SUBTRACT OPERATOR

                                 5B  017C  3820 	.ASCII	/[/			; LBRACKET - LEFT BRACKET

                                     017D  3840 TERM:					; BASE OF TERMINATOR LIST

                                 09  017D  3860 	.ASCII	<9>			; TAB - INDIRECT

                                 0A  017E  3880 	.ASCII	<10>			; LINEFEED -

                                 0D  017F  3900 	.ASCII	<CR>			; RETURN - 

                                 2F  0180  3920 	.ASCII	'/'			; SLASH - OPEN FOR DISPLAY

                                 22  0181  3940 	.ASCII	'"'			; DOUBLE QUOTE - OPEN FOR ASCII DISPLAY

                                 3D  0182  3960 	.ASCII	/=/			; EQUALS - DISPLAY

                                 1B  0183  3980 	.ASCII	<27>			; ESCAPE - PREVIOUS LOCATION

                                 53  0184  4000 	.ASCII	/S/			; STEP

                           00000008  0185  4020 NTERM=.-TERM				; NUMBER OF TERMINATORS

                                 3B  0185  4040 	.ASCII	<59>			; SEMI - INITIATE SECONDARY

                                 50  0186  4060 	.ASCII	/P/			; P - PROCESSOR REGISTER PREFIX

                                 51  0187  4080 	.ASCII	/Q/			; Q - LAST QUANTITY

                                 27  0188  4100 	.ASCII	/'/			; QUOTE - BEGIN CHAR STRING

                                 52  0189  4120 	.ASCII	/R/			; REGISTER PREFIX

                                 47  018A  4140 	.ASCII	/G/			; G - GLOBAL PREFIX

                                 48  018B  4160 	.ASCII	/H/			; H - HIGH, P1 SPACE PREFIX

                                 58  018C  4180 	.ASCII	/X/			; X REGISTER PREFIX

                           00000029  018D  4200 NPRIM=.-PRIMARY				; NUMBER OF PRIMARY COMMANDS

                                     018D  4220 

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page   6

                PRIMARY COMMAND SCANNER                                                                                          (1)



                                     018D  4260 	.SBTTL	PRIMARY COMMAND SCANNER

                                     018D  4280 

                                     018D  4300 ;

                                     018D  4320 ;	PRIMARY COMMAND SCANNER

                                     018D  4340 ;

                                     018D  4360 

                                     018D  4380 

            00 0D 0A 3F 48 45 0D 0A  018D  4400 OUTER:	.ASCIZ	<LF><CR>/EH?/<LF><CR>

                                     0195  4420 

                               0000  0195  4440 DCOM:	.WORD				; CALL ENTRY POINT

                                     0197  4460 	.IF	DF,SW_PROCESS		; FOR PROCESS VERSION ONLY

                                     0197  4480 	MOVAB	W^DBGEXCEP,(FP)		; SET CONDITION HANDLER ADDRESS

                                     0197  4500 	.ENDC				;

                          13     11  0197  4520 	BRB	SCANP			; ENTER SCANP

            54         F1 AF     9E  0199  4540 ERROR:	MOVAB	OUTER,R4		; SET ADDR OF CONTROL STRING

                          01D7   30  019D  4560 	BSBW	OUTZSTRING		; OUTPUT ASCIZ STRING

            5E            5D     D0  01A0  4580 SUPERST:MOVL	FP,SP			; RESET STACK

            59         B0 AB     9E  01A3  4600 	MOVAB	INBUF-B(R11),R9		; RESET STRING ADDRESS

                          69     94  01A7  4620 	CLRB	(R9)			; AND FORCE READ

                          02C4   30  01A9  4640 	BSBW	RESET			; RESET SCANNER

                          02     10  01AC  4660 SCANP:	BSBB	NEXTP			; SCAN INPUT

                          FC     11  01AE  4680 	BRB	SCANP			; SCAN IT ALL

                                     01B0  4700 NEXTP:					; PROCESS NEXT PRIMARY CHAR

                          0204   30  01B0  4720 	BSBW	GETCHAR			; GET CHARACTER

            29            58     3A  01B3  4740 	LOCC	R8,#NPRIM,PRIMARY	; CHECK IT

                       AC AF         01B6       

                          DF     13  01B8  4760 	BEQL	ERROR			; NOT FOUND, ERROR

            29            50     C3  01BA  4780 	SUBL3	R0,#NPRIM,R0		; RATIONALIZE INDEX

                          50         01BD       

                                     01BE  4800 	CASE	R0,LIMIT=#16,<-		; 

                                     01BE  4820 		DOT,-			; DOT - CURRENT LOCATION

                                     01BE  4840 		COMMA,-			; COMMA - FIELD SEPARATOR

                                     01BE  4860 		OPERATOR,-		; PLUS - ADD OPERATOR

                                     01BE  4880 		OPERATOR,-		; BLANK - ADD OPERATOR

                                     01BE  4900 		OPERATOR,-		; @ - SHIFT OPERATOR

                                     01BE  4920 		OPERATOR,-		; * - MULTIPLY OPERATOR

                                     01BE  4940 		OPERATOR,-		; % - DIVIDE OPERATOR

                                     01BE  4960 		NEGATE,-		; MINUS - SUBTRACT/NEGATE

                                     01BE  4980 		LBRACKET,-		; LEFT BRACKET - MODE SELECT

                                     01BE  5000 		TAB,-			; TAB - INDIRECT

                                     01BE  5020 		LINEFEED,-		; LINE FEED - NEXT LOCATION

                                     01BE  5040 		RETURN,-		; RETURN - CLOSE OPEN CELL

                                     01BE  5060 		SLASH,-			; SLASH - OPEN FOR DISPLAY

                                     01BE  5080 		DQUOTE,-		; DOUBLE QUOTE - OPEN FOR ASCII DISPLAY

                                     01BE  5100 		EQUALS,-		; EQUALS - DISPLAY VALUE

                                     01BE  5120 		ESCAP,-			; ESCAPE - PREVIOUS LOCATION

                                     01BE  5140 		STEP,-			; 'S' - SINGLE STEP

                                     01BE  5160 		SEMI,-			; SEMI COLON - SECONDARY COMMAND

                                     01BE  5180 		PREG,-			; 'P' - PROCESSOR REGISTER

                                     01BE  5200 		QUANT,-			; 'Q' - LAST QUANTITY

                                     01BE  5220 		QUOTE,-			; QUOTE - BEGIN ASCII STRING

                                     01BE  5240 		REGISTER,-		;

                                     01BE  5260 		GLOBL,-			; G - GLOBAL PREFIX

                                     01BE  5280 		HIGH,-			; H - P1 SPACE PREFIX

                                     01BE  5300 		XREG,-			; X REGISTER

                                     01BE  5320 		>			;

            10            50     AF  01BE       	CASEW	R0,#16,S^#<<30001$-30000$>/2>-1

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page   7

                PRIMARY COMMAND SCANNER                                                                                          (1)



                          18'        01C1       

                                     01C2       30000$:

                               03BC' 01C2       	.WORD	DOT-30000$

                               00D2' 01C4       	.WORD	COMMA-30000$

                               0268' 01C6       	.WORD	OPERATOR-30000$

                               0268' 01C8       	.WORD	OPERATOR-30000$

                               0268' 01CA       	.WORD	OPERATOR-30000$

                               0268' 01CC       	.WORD	OPERATOR-30000$

                               0268' 01CE       	.WORD	OPERATOR-30000$

                               0271' 01D0       	.WORD	NEGATE-30000$

                               02E9' 01D2       	.WORD	LBRACKET-30000$

                               027D' 01D4       	.WORD	TAB-30000$

                               0129' 01D6       	.WORD	LINEFEED-30000$

                               00BB' 01D8       	.WORD	RETURN-30000$

                               008A' 01DA       	.WORD	SLASH-30000$

                               0085' 01DC       	.WORD	DQUOTE-30000$

                               029F' 01DE       	.WORD	EQUALS-30000$

                               028D' 01E0       	.WORD	ESCAP-30000$

                               0304' 01E2       	.WORD	STEP-30000$

                               02C2' 01E4       	.WORD	SEMI-30000$

                               0664' 01E6       	.WORD	PREG-30000$

                               03C9' 01E8       	.WORD	QUANT-30000$

                               061C' 01EA       	.WORD	QUOTE-30000$

                               03E1' 01EC       	.WORD	REGISTER-30000$

                               0041' 01EE       	.WORD	GLOBL-30000$

                               0047' 01F0       	.WORD	HIGH-30000$

                               040F' 01F2       	.WORD	XREG-30000$

                                     01F4       30001$:

            10            50     B1  01F4  5340 	CMPW	R0,#16			; IS NUMBER > RADIX

                          A0     18  01F7  5360 	BGEQ	ERROR			; YES

            56            10     C4  01F9  5380 	MULL	#16,R6			; SCALE BY RADIX

            56            50     C0  01FC  5400 	ADDL	R0,R6			; AND ADD NEW DIGIT

            6A            04     C8  01FF  5420 INFLD:	BISL	#<1@V_INFIELD>,(R10)	; NOTE FIELD INPUT

                                 05  0202  5440 	RSB				; NEXT PRIMARY CHARACTER

                                     0203  5460 

                                     0203  5480 

            01            1F     9C  0203  5500 GLOBL:	ROTL	#31,#1,R4		; GENERATE SYSTEM SPACE PREFIX

                          54         0206       

                          07     11  0207  5520 	BRB	PRE1			; MERGE WITH COMMON

            54   7FFE0000 8F     D0  0209  5540 HIGH:	MOVL	#^X7FFE0000,R4		; P1 SPACE BASE ADDRESS

                          06     10  0210  5560 PRE1:	BSBB	ENDEXPR			; END EXPRESSION

            56            54     D0  0212  5580 	MOVL	R4,R6			; SET INTO ACCUM

                       E7 AF     9F  0215  5600 	PUSHAB	INFLD			; RETURN THROUGH INFLD

                                     0218  5620 ;	BRB	ENDEXPR

                                     0218  5640 

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page   8

                ENDEXPR - END EXPRESSION                                                                                         (1)



                                     0218  5680 	.SBTTL	ENDEXPR	- END EXPRESSION

                                     0218  5700 

                                     0218  5720 ;

                                     0218  5740 ;

                                     0218  5760 ;

                                     0218  5780 ENDEXPR:				;

            6A            07     E5  0218  5800 	BBCC	#V_NEGATE,(R10),5$	; SKIP IF NOT NEGATE

                          03         021B       

            56            56     CE  021C  5820 	MNEGL	R6,R6			; NEGATE ACCUMULATOR

                          06     10  021F  5840 5$:	BSBB	10$			; PERFORM OPERATION

                          56     D4  0221  5860 	CLRL	R6			; CLEAR ACCUMULATOR

                       FF AB     94  0223  5880 	CLRB	OPER-B(R11)		; INIT OPERATOR

                                 05  0226  5900 	RSB				; AND RETURN

                                     0227  5920 10$:	CASE	OPER-B(R11),TYPE=B,<-	; DO OPERATION

                                     0227  5940 		ADD,-			; ADD, PLUS

                                     0227  5960 		ADD,-			; BLANK, PLUS

                                     0227  5980 		SHFT,-			; SHIFT, @

                                     0227  6000 		MUL,-			; MULTIPLY, *

                                     0227  6020 		DIV,-			; DIVIDE, %

                                     0227  6040 		>			; 

            00         FF AB     8F  0227       	CASEB	OPER-B(R11),#0,S^#<<30003$-30002$>/2>-1

                          04'        022B       

                                     022C       30002$:

                               0017' 022C       	.WORD	ADD-30002$

                               0017' 022E       	.WORD	ADD-30002$

                               000A' 0230       	.WORD	SHFT-30002$

                               000F' 0232       	.WORD	MUL-30002$

                               0013' 0234       	.WORD	DIV-30002$

                                     0236       30003$:

            57            56     78  0236  6060 SHFT:	ASHL	R6,R7,R7		; SHIFT

                          57         0239       

                                 05  023A  6080 	RSB				; AND EXIT

            57            56     C4  023B  6100 MUL:	MULL	R6,R7	; MULTIPLY

                                 05  023E  6120 	RSB				; AND EXIT

            57            56     C6  023F  6140 DIV:	DIVL	R6,R7	; DIVIDE

                                 05  0242  6160 	RSB				; AND EXIT

            57            56     C0  0243  6180 ADD:	ADDL	R6,R7	; ADD

                                 05  0246  6200 	RSB				; AND EXIT

                                     0247  6220 

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page   9

                SLASH - OPEN CELL                                                                                                (1)



                                     0247  6260 	.SBTTL	SLASH - OPEN CELL

                                     0247  6280 

                                     0247  6300 ;

                                     0247  6320 ;	OPEN SPECIFIED CELL

                                     0247  6340 ;

                                     0247  6360 DQUOTE:					; DISPLAY IN ASCII

            6A            02     88  0247  6380 	BISB	#<1@V_ASCII>,(R10)	; SET ASCII FLAG

                          03     11  024A  6400 	BRB	OPEN			; 

                                     024C  6420 

                                     024C  6440 SLASH:					;

            6A            02     8A  024C  6460 	BICB	#<1@V_ASCII>,(R10)	; CLEAR ASCII DISPLAY MODE

                          46     10  024F  6480 OPEN:	BSBB	ENDFIELD		; TERMINATE FIELD

            6A            08     E0  0251  6500 	BBS	#V_F1,(R10),5$		; ADDR SPECIFIED?

                          06         0254       

            6B         04 AB     D0  0255  6520 	MOVL	QUAN-B(R11),CURDOT-B(R11)	; NO, GO INDIRECT

                          04     11  0259  6540 	BRB	10$			; AND DISPLAY CONTENT

            6B         E4 AB     D0  025B  6560 5$:	MOVL	F1-B(R11),CURDOT-B(R11)	; SET NEW DOT

            01            0F     EF  025F  6580 10$:	EXTZV	#V_PRMODE,#1,(R10),R0	; GET PROCESSOR REGISTER MODE FLAG

            50            6A         0262       

            1F            50     F0  0264  6600 	INSV	R0,#V_PREG,#1,(R10)	; AND MOVE TO SEMI-PERMANENT COPY

            6A            01         0267       

                          0086   30  0269  6620 	BSBW	LOCOUT			; OUTPUT AND OPEN

            6A            09     E1  026C  6640 	BBC	#V_F2,(R10),RSET	; RANGE SPECIFIED?

                          1A         026F       

            6B         E8 AB     D1  0270  6660 15$:	CMPL	F2-B(R11),CURDOT-B(R11)	; CHECK FOR END

                          14     15  0274  6680 	BLEQ	RSET			; YES

                                     0276  6700 	.IF	NDF,SW_PROCESS		;

                          76     10  0276  6720 	BSBB	NEXTLOC			; INCREMENT TO NEXT DOT

                                     0278  6740 	.IFF				;

                                     0278  6760 	BSBW	NEXTLOC			; INCREMENT TO NEXT DOT

                                     0278  6780 	.ENDC				;

                          F6     11  0278  6800 	BRB	15$			; AND CONTINUE

                          FF1C   31  027A  6820 ERR4:	BRW	ERROR			; DECLARE ERROR

                                     027D  6840 

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  10

                RETURN - CLOSE CURRENT OPEN CELL                                                                                 (1)



                                     027D  6880 	.SBTTL	RETURN - CLOSE CURRENT OPEN CELL

                                     027D  6900 

                                     027D  6920 ;

                                     027D  6940 ;	RETURN - CLOSE CURRENT OPEN CELL

                                     027D  6960 ;

                                     027D  6980 

                                     027D  7000 RETURN:					;

                          18     10  027D  7020 	BSBB	ENDFIELD		; TERMINATE CURRENT FIELD

                                     027F  7040 	.ENABL	LSB			;

            6A            00     E5  027F  7060 	BBCC	#V_OPEN,(R10),10$	; SKIP IF NONE OPEN

                          0A         0282       

            6A            08     E1  0283  7080 	BBC	#V_F1,(R10),RSET	; SKIP IF NOTHING TO STORE

                          03         0286       

                          0568   30  0287  7100 	BSBW	DEPOSIT			; DEPOSIT

                          01E3   31  028A  7120 RSET:	BRW	RESET			; RESET SCANNER

            6A            08     E1  028D  7140 10$:	BBC	#V_F1,(R10),RSET	; DONE IF NO INPUT

                          F9         0290       

                          01D4   31  0291  7160 	BRW	EQL1			; OTHERWISE OUTPUT

                                     0294  7180 	.DSABL	LSB			;

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  11

                ENDFIELD - TERMINATE CURRENT FIELD                                                                               (1)



                                     0294  7220 	.SBTTL	ENDFIELD - TERMINATE CURRENT FIELD

                                     0294  7240 

                                     0294  7260 ;

                                     0294  7280 ;	COMMA TERMINATE CURRENT FIELD

                                     0294  7300 ;

                          FF68   30  0294  7320 COMMA:	BSBW	INFLD			; ZERO IF NULL FIELD

                                     0297  7340 

                                     0297  7360 ;

                                     0297  7380 ;	TERMINATE CURRENT FIELD

                                     0297  7400 ;

                                     0297  7420 ENDFIELD:				;

            6A            02     E5  0297  7440 	BBCC	#V_INFIELD,(R10),10$	; CLEAR PENDING FIELD

                          16         029A       

                          FF7A   30  029B  7460 	BSBW	ENDEXPR			; END EXPRESSION

            50         FC AB     9A  029E  7480 	MOVZBL	FCTR-B(R11),R0		; GET FIELD POINTER

         01 AA            50     E2  02A2  7500 	BBSS	R0,1(R10),ERR4		; ERROR IF TOO MANY FIELDS

                          D3         02A6       

         E4 AB40          57     D0  02A7  7520 	MOVL	R7,F1-B(R11)[R0]	; STORE FIELD VALUE

                       FC AB     96  02AC  7540 	INCB	FCTR-B(R11)		; INCREMENT FIELD COUNTER

                          56     7C  02AF  7560 	CLRQ	R6			; CLEAR ACCUMULATORS

                                 05  02B1  7580 10$:	RSB				; RETURN

                                     02B2  7600 

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  12

                FETCH - OBTAIN DATA SPECIFIED                                                                                    (1)



                                     02B2  7640 	.SBTTL	FETCH - OBTAIN DATA SPECIFIED

                                     02B2  7660 

                                     02B2  7680 ;

                                     02B2  7700 ;	FETCH SPECIFIED DATA

                                     02B2  7720 ;

                                     02B2  7740 FETCH:					;

            6A            1F     E0  02B2  7760 	BBS	#V_PREG,(R10),40$	; BR IF PROCESSOR REGISTER

                          1D         02B5       

                                     02B6  7780 	CASE	CURTYPE-B(R11),TYPE=B,<-	; OPERATE ON TYPE

                                     02B6  7800 		10$,-			; BYTE

                                     02B6  7820 		20$,-			; WORD

                                     02B6  7840 		30$,-			; LONG

                                     02B6  7860 		>			;

            00         FE AB     8F  02B6       	CASEB	CURTYPE-B(R11),#0,S^#<<30005$-30004$>/2>-1

                          02'        02BA       

                                     02BB       30004$:

                               0006' 02BB       	.WORD	10$-30004$

                               000C' 02BD       	.WORD	20$-30004$

                               0012' 02BF       	.WORD	30$-30004$

                                     02C1       30005$:

         04 AB         00 BB     9A  02C1  7880 10$:	MOVZBL	@CURDOT-B(R11),QUAN-B(R11)	; GET BYTE

                                 05  02C6  7900 	RSB				; RETURN

         04 AB         00 BB     3C  02C7  7920 20$:	MOVZWL	@CURDOT-B(R11),QUAN-B(R11)	; GET WORD

                                 05  02CC  7940 	RSB				; RETURN

         04 AB         00 BB     D0  02CD  7960 30$:	MOVL	@CURDOT-B(R11),QUAN-B(R11)	; GET LONGWORD

                                 05  02D2  7980 	RSB				; RETURN

                                     02D3  8000 	.IF	NDF,SW_PROCESS		;

         04 AB            6B     DB  02D3  8020 40$:	MFPR	CURDOT-B(R11),QUAN-B(R11)	; GET PROCESSOR REGISTER

                                     02D7  8040 	.IFF				; FALSE IF PROCESS VERSION

                                     02D7  8060 40$:					;

                                     02D7  8080 	$CMKRNL_S	B^FTCHPREG,(AP)	; CALL IN KERNEL MODE TO FETCH

                                     02D7  8100 	.ENDC

                                 05  02D7  8120 	RSB				; RETURN

                                     02D8  8140 

                                     02D8  8160 	.IF	DF,SW_PROCESS		;

                                     02D8  8180 FTCHPREG:				;

                                     02D8  8200 	.WORD	0			; ENTRY MASK

                                     02D8  8220 	MOVAB	W^PREXC,(FP)		; SET EXCEPTION HANDLER

                                     02D8  8240 	MFPR	CURDOT-B(R11),QUAN-B(R11)	; GET PROCESSOR REGISTER

                                     02D8  8260 	MOVL	#1,R0			; RETURN SUCCESS

                                     02D8  8280 	RET				;

                                     02D8  8300 

                                     02D8  8320 	.ENDC				;

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  13

                NEXTDOT - INCREMENT CURRENT LOCATION                                                                             (1)



                                     02D8  8360 	.SBTTL	NEXTDOT - INCREMENT CURRENT LOCATION

                                     02D8  8380 

                                     02D8  8400 ;

                                     02D8  8420 ;	INCREMENT TO NEXT LOCATION

                                     02D8  8440 ;

                                     02D8  8460 NEXTDOT:				;

            51            01     D0  02D8  8480 	MOVL	#1,R1			; ASSUME UNIT INCREMENT

                          6A     D5  02DB  8500 	TSTL	(R10)			; CHECK FOR PREG

                          05     19  02DD  8520 	BLSS	10$			; YES, USE UNIT INCREMENT

            51         FE AB     9C  02DF  8540 	ROTL	CURTYPE-B(R11),R1,R1	; FORM INCREMENT

                          51         02E3       

            6B            51     C0  02E4  8560 10$:	ADDL	R1,CURDOT-B(R11)	; AND ADD TO DOT

                                 05  02E7  8580 	RSB				; RETURN

                                     02E8  8600 

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  14

                OUTPUT - DISPLAY CONTENT                                                                                         (1)



                                     02E8  8640 	.SBTTL	OUTPUT - DISPLAY CONTENT

                                     02E8  8660 ;

                                     02E8  8680 ;	OUTPUT CONTENT

                                     02E8  8700 ;

                                     02E8  8720 OUTBB:	

                           1C 0C 04  02E8  8740 	.BYTE	4,12,28			; STARTING DIGIT LIST

                                     02EB  8760 	.SBTTL	LINE FEED - DISPLAY NEXT

                                     02EB  8780 ;

                                     02EB  8800 ;

                                     02EB  8820 ;

                                     02EB  8840 LINEFEED:				;

                          FF8F   30  02EB  8860 	BSBW	RETURN			; CLOSE OPEN CELL

                                     02EE  8880 NEXTLOC:				; PROMPT WITH NEXT LOCATION

                          E8     10  02EE  8900 	BSBB	NEXTDOT			; INCREMENT LOCATION

                                     02F0  8920 LOCPROMPT:				; DISPLAY ADDR/CONTENT

                          2B     10  02F0  8940 	BSBB	OUTPUTA			; OUTPUT ADDRESS

                          BE     10  02F2  8960 LOCOUT:	BSBB	FETCH			; FETCH CONTENT

            6A            01     C8  02F4  8980 	BISL	#<1@V_OPEN>,(R10)	; INDICATE OPEN CELL

                                     02F7  9000 

                                     02F7  9020 OUTPUT:					;

            51         FE AB     9A  02F7  9040 	MOVZBL	CURTYPE-B(R11),R1	; GET TYPE

            52         E9 AF41   9A  02FB  9060 	MOVZBL	OUTBB[R1],R2		; INIT DIGIT SELECTOR

            53         04 AB     D0  0300  9080 	MOVL	QUAN-B(R11),R3		; GET QUANTITY TO DISPLAY

            6A            01     E0  0304  9100 	BBS	#V_ASCII,(R10),10$	; CHECK FOR ASCII OUT

                          04         0307       

                          53     10  0308  9120 	BSBB	OUTCOM			; OUTPUT NUMBER IN HEX

                          0E     11  030A  9140 	BRB	20$			; AND EXIT THROUGH OUTSPACE

         08 AB            53     D0  030C  9160 10$:	MOVL	R3,OUTBUF-B(R11)	; PUT STRING IN BUFFER

            01            51     78  0310  9180 	ASHL	R1,#1,R2		; GET COUNT

                          52         0313       

                       08 AB42   94  0314  9200 	CLRB	OUTBUF-B(R11)[R2]	; MARK END OF STRING

                          59     10  0318  9220 	BSBB	OUTZBUF			; OUTBUT ASCIIZ BUFFER

                          008B   31  031A  9240 20$:	BRW	OUTSPACE		; FOLLOW WITH SPACE

                                     031D  9260 

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  15

                OUTPUTA - OUTPUT ADDRESS                                                                                         (1)



                                     031D  9300 	.SBTTL	OUTPUTA - OUTPUT ADDRESS

                                     031D  9320 ;

                                     031D  9340 ;	OUTPUT ADDRESS

                                     031D  9360 ;

                                     031D  9380 OUTPUTA:				; OUTPUT ADDRESS

                          008D   30  031D  9400 	BSBW	CRLF			; OUTPUT CR/LF

            53         18 AB     9E  0320  9420 	MOVAB	SAVREG-B(R11),R3	; BASE OF REGISTER AREA

            6B            53     C3  0324  9440 	SUBL3	R3,CURDOT-B(R11),R3	; COMPUTE OFFSET INTO REGISTER AREA

                          53         0327       

                          12     19  0328  9460 	BLSS	5$			; NOT GENERAL REGISTER

            53            04     C6  032A  9480 	DIVL	#4,R3			; SCALE TO LONGWORD NUMBER

            0F            53     D1  032D  9500 	CMPL	R3,#15			; CHECK FOR MAX REG NUMBER

                          0A     14  0330  9520 	BGTR	5$			; GTR, NOT A REGISTER

            50         52 8F     9A  0332  9540 	MOVZBL	#^A'R',R0		; OUTPUT PREFIX

                          52     10  0336  9560 	BSBB	OUTCHAR			; OF 'R'

                          52     D4  0338  9580 	CLRL	R2			; AND SET FOR ONE DIGIT OF OUTPUT

                          13     11  033A  9600 	BRB	10$			;

            53            6B     D0  033C  9620 5$:	MOVL	CURDOT-B(R11),R3	; GET ADDRESS

            52            1C     D0  033F  9640 	MOVL	#28,R2			; ASSUME LONGWORD OUTPUT

                          6A     D5  0342  9660 	TSTL	(R10)			; CHECK FOR PROCESSOR REGISTER

                          09     18  0344  9680 	BGEQ	10$			; NO, JUST A LONGWORD

            50         50 8F     9A  0346  9700 	MOVZBL	#^A'P',R0		; PRECEDE WITH A 'P'

                          3E     10  034A  9720 	BSBB	OUTCHAR			; OUTPUT P

            52            04     D0  034C  9740 	MOVL	#4,R2			; SET FIELD TO 2 DIGITS

                          0C     10  034F  9760 10$:	BSBB	OUTCOM			; COMMON OUTPUT

            50            2F     9A  0351  9780 	MOVZBL	#SLSH,R0		; OUTPUT SLASH

                          34     11  0354  9800 	BRB	OUTCHAR			; RETURN THROUGH OUTCHAR

                                     0356  9820 OUTDIGIT:				; OUTPUT ONE DIGIT

                          52     D4  0356  9840 	CLRL	R2			; ZAP DIGIT SELECTOR

                          03     11  0358  9860 	BRB	OUTCOM			; AND MERGE WITH COMMON

                                     035A  9880 

                                     035A  9900 OUTLONG:				; OUTPUT LONGWORD

            52            1C     D0  035A  9920 	MOVL	#28,R2			; SET DIGIT SELECTOR

                                     035D  9940 OUTCOM:					; FORMAT IT

            54         08 AB     9E  035D  9960 	MOVAB	OUTBUF-B(R11),R4	; GET ADDRESS OF OUTPUT BUFFER

            04            52     EF  0361  9980 10$:	EXTZV	R2,#4,R3,R1		; GET DIGIT

            51            53         0364       

            84       FDF9 CF41   90  0366 10000 	MOVB	PRIMARY[R1],(R4)+	; BUFFER IT

            52            04     C2  036C 10020 	SUBL	#4,R2			; NEXT DIGIT

                          F0     18  036F 10040 	BGEQ	10$			; DO ALL REQUESTED

                          64     94  0371 10060 	CLRB	(R4)			; MARK END OF BUFFER

            54         08 AB     9E  0373 10080 OUTZBUF:MOVAB	OUTBUF-B(R11),R4	; GET START OF BUFFER

                                     0377 10100 

                                     0377 10120 OUTZSTRING:				; OUTPUT ASCIZ STRING

            50            84     9A  0377 10140 	MOVZBL	(R4)+,R0		; GET A CHAR

                          04     13  037A 10160 	BEQL	10$			; BR IF DONE

                          0C     10  037C 10180 	BSBB	OUTCHAR			; OUTPUT CHAR

                          F7     11  037E 10200 	BRB	OUTZSTRING		; CONTINUE

                                 05  0380 10220 10$:	RSB				; RETURN IF DONE

                                     0381 10240 

                                     0381 10260 

                                     0381 10280 OUTBSLSH:				; OUTPUT BACK SLASH

            50         5C 8F     9A  0381 10300 	MOVZBL	#BSLSH,R0		; SET CHARACTER CODE

                          03     11  0385 10320 	BRB	OUTCHAR			; AND OUTPUT IT

            50            58     9A  0387 10340 OUTR8:	MOVZBL	R8,R0			; GET CHAR TO OUTPUT

                                     038A 10360 OUTCHAR:				; OUTPUT CHAR IN R0

                                     038A 10380 	.IF	NDF,SW_PROCESS		;

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  16

                OUTPUTA - OUTPUT ADDRESS                                                                                         (1)



                          5C     D5  038A 10400 	TSTL	AP			; CHECK FOR CONSOLE

                          05     12  038C 10420 	BNEQ	10$			; NO, USE DEVICE DIRECTLY

            51            22     DB  038E 10440 	MFPR	#PR$_TXCS,R1		; GET CONSOLE TRANSMIT STATUS

                          04     11  0391 10460 	BRB	20$			; MERGE WITH COMMON CODE

            51         04 AC     B0  0393 10480 10$:	MOVW	OUTCR(AP),R1		; GET STATUS

            51            07     E1  0397 10500 20$:	BBC	#7,R1,OUTCHAR		; WAIT FOR READY

                          EF         039A       

                          5C     D5  039B 10520 	TSTL	AP			; CHECK FOR CONSOLE

                          04     12  039D 10540 	BNEQ	30$			; YES

            23            50     DA  039F 10560 	MTPR	R0,#PR$_TXDB		; SEND CHARACTER TO CONSOLE

                                 05  03A2 10580 	RSB				; RETURN

         06 AC            50     90  03A3 10600 30$:	MOVB	R0,OUTB(AP)		; OUTPUT CHAR

                                     03A7 10620 	.IFF				; FALSE FOR PROCESS VERSION

                                     03A7 10640 	PUSHL	R0			; BUFFER CHARACTER ON STACK

                                     03A7 10660 	MOVL	SP,R0			; SAVE POINTER TO IT

                                     03A7 10680 	$QIO_S	EFN=#30,-		;

                                     03A7 10700 		CHAN=TTCHAN,-		; 

                                     03A7 10720 		FUNC=#IO$_WRITEVBLK,-	;

                                     03A7 10740 		P1=(R0),-		; BUFFER ADDRESS

                                     03A7 10760 		P2=#1			; ONE CHARACTER

                                     03A7 10780 	POPR	#^M<R0>			; RESTORE CHARACTER

                                     03A7 10800 	.ENDC				;

                                 05  03A7 10820 	RSB				; AND RETURN

                                     03A8 10840 OUTSPACE:				;

            50            20     9A  03A8 10860 	MOVZBL	#32,R0			; SET CODE FOR SPACE

                          DD     11  03AB 10880 	BRB	OUTCHAR			; AND SEND IT

            50            0D     9A  03AD 10900 CRLF:	MOVZBL	#CR,R0			; RETURN

                          D8     10  03B0 10920 	BSBB	OUTCHAR			; SEND IT

            50            0A     9A  03B2 10940 	MOVZBL	#LF,R0			; LINE FEED

                          D3     11  03B5 10960 	BRB	OUTCHAR			; SEND IT

                                     03B7 10980 

                                     03B7 11000 

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  17

                GETCHAR - GET INPUT CHARACTER ROUTINE                                                                            (1)



                                     03B7 11040 	.SBTTL	GETCHAR - GET INPUT CHARACTER ROUTINE

                                     03B7 11060 

                                     03B7 11080 ;

                                     03B7 11100 ;	GETCHAR - GET INPUT CHARACTER

                                     03B7 11120 ;

                                     03B7 11140 ; OUTPUT:

                                     03B7 11160 ;	R8 - INPUT CHARACTER

                                     03B7 11180 ;	R9 - BUFFER POINTER UPDATED (BUFFER IN ASCIZ FORMAT)

                                     03B7 11200 ;

                                     03B7 11220 

                                     03B7 11240 GETCHAR:				;

            58            89     9A  03B7 11260 	MOVZBL	(R9)+,R8		; GET NEXT CHARACTER

                          01     13  03BA 11280 	BEQL	10$			; READ IF NONE AVAIL

                                 05  03BC 11300 	RSB

            59         B0 AB     9E  03BD 11320 10$:	MOVAB	INBUF-B(R11),R9		; SET ADDRESS OF INPUT BUFFER

                                     03C1 11340 	.IF	NDF,SW_PROCESS		;

                          5C     D5  03C1 11360 20$:	TSTL	AP			; CHECK FOR CONSOLE

                          05     13  03C3 11380 	BEQL	30$			; YES

            50            6C     B0  03C5 11400 	MOVW	RDCR(AP),R0		; GET STATUS

                          03     11  03C8 11420 	BRB	40$			; CHECK STATUS

            50            20     DB  03CA 11440 30$:	MFPR	#PR$_RXCS,R0		; GET CONSOLE STATUS

            50            07     E1  03CD 11460 40$:	BBC	#7,R0,20$		; WAIT FOR READY

                          F0         03D0       

                          5C     D5  03D1 11480 	TSTL	AP			; CHECK FOR CONSOLE

                          06     13  03D3 11500 	BEQL	50$			; YES

            58         02 AC     90  03D5 11520 	MOVB	RDBUF(AP),R8		; GET CHARACTER

                          03     11  03D9 11540 	BRB	60$			; MERGE WITH COMMON

            58            21     DB  03DB 11560 50$:	MFPR	#PR$_RXDB,R8		; GET CONSOLE CHARACTER

                                     03DE 11580 	.IFF				; FALSE IF PROCESS VERSION

                                     03DE 11600 15$:	$QIOW_S	EFN=#31,-		; 

                                     03DE 11620 		CHAN=TTCHAN,-		; INPUT DEVICE CHANNEL

                                     03DE 11640 		IOSB=TTIOSB,-		; IO STATUS BLOCK

                                     03DE 11660 		FUNC=#<IO$_READVBLK>,-	;

                                     03DE 11680 		P1=(R9),-		; BUFFER ADDRESS

                                     03DE 11700 		P2=#80,-		; READ SIZE

                                     03DE 11720 	P4=#TERMASKD			;

                                     03DE 11740 	MOVZWL	TTIOSB+2,R0		; GET SIZE READ

                                     03DE 11760 	MOVB	TTIOSB+4,(R0)+[R9]	; BUFFER TERMINATOR 

                                     03DE 11780 	CLRB	(R9)[R0]		; MARK END OF BUFFER

                                     03DE 11800 	MOVL	R9,R2			; POINT TO START OF STRING

                                     03DE 11820 20$:	MOVZBL	(R2)+,R8		; GET A CHARACTER

                                     03DE 11840 	BEQL	15$			; EMPTY, READ SOME MORE

                                     03DE 11860 	.ENDC				;

            58         80 8F     8A  03DE 11880 60$:	BICB	#^X80,R8		; STRIP PARITY

         7F 8F            58     91  03E2 11900 	CMPB	R8,#RUBOUT		; CHECK FOR RUBOUT

                          15     12  03E6 11920 	BNEQ	90$			; NO

            6A            06     E2  03E8 11940 	BBSS	#V_RUB,(R10),70$	; SET START OF RUBOUT SEQUENCE

                          03         03EB       

                          FF92   30  03EC 11960 	BSBW	OUTBSLSH		; OUTPUT BACK SLASH

            58            79     9A  03EF 11980 70$:	MOVZBL	-(R9),R8		; GET RUBBED OUT CHAR

                          04     12  03F2 12000 	BNEQ	80$			; SKIP INC

                          59     D6  03F4 12020 	INCL	R9			; POINT AT START OF BUFFER

                          C9     11  03F6 12040 	BRB	20$			; AND GET ANOTHER

                          FF8C   30  03F8 12060 80$:	BSBW	OUTR8			; OUTPUT RUBBED OUT CHAR

                          C4     11  03FB 12080 	BRB	20$			; AND GET ANOTHER

            6A            06     E5  03FD 12100 90$:	BBCC	#V_RUB,(R10),100$	; TERMINATE RUBOUT SEQUENCE

                          03         0400       

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  18

                GETCHAR - GET INPUT CHARACTER ROUTINE                                                                            (1)



                          FF7D   30  0401 12120 	BSBW	OUTBSLSH		; OUTPUT BACK SLASH

            58            06     E1  0404 12140 100$:	BBC	#6,R8,110$		; BR IF NOT ALPHA

                          03         0407       

            58            20     8A  0408 12160 	BICB	#32,R8			; SET TO UPPER CASE

                                     040B 12180 110$:					;

                                     040B 12200 	.IF	NDF,SW_PROCESS		;

                          FF79   30  040B 12220 	BSBW	OUTR8			; ECHO CHARACTER

                                     040E 12240 	.ENDC				;

            89            58     90  040E 12260 	MOVB	R8,(R9)+		; BUFFER NEW CHAR

            08            58     3A  0411 12280 	LOCC	R8,#NTERM,TERM		; CHECK FOR TERMINATOR

                     FD66 CF         0414       

                          A8     13  0417 12300 	BEQL	20$			; NOT A TERMINATOR

            58            0D     91  0419 12320 	CMPB	#CR,R8			; IS CHAR = RETURN

                          03     12  041C 12340 	BNEQ	120$			; NO,

                          FF8C   30  041E 12360 	BSBW	CRLF			; YES, SEND CR/LF

                          69     94  0421 12380 120$:	CLRB	(R9)			; MARK END OF BUFFER

            59         B0 AB     9E  0423 12400 	MOVAB	INBUF-B(R11),R9		; RESTORE BUFFER BASE

                          FF8D   31  0427 12420 	BRW	GETCHAR			; AND TRY AGAIN

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  19

                PLUS/MINUS OPERATORS                                                                                             (1)



                                     042A 12460 	.SBTTL	PLUS/MINUS OPERATORS

                                     042A 12480 ;

                                     042A 12500 ;	PLUS/MINUS OPERATORS

                                     042A 12520 ;

                                     042A 12540 BLANK:					; SAME AS PLUS

                                     042A 12560 OPERATOR:				; 

                          FDEB   30  042A 12580 	BSBW	ENDEXPR			; END EXPR

            50            12     83  042D 12600 	SUBB3	#OPERBAS,R0,OPER-B(R11)	; SET OPERATOR

                       FF AB         0430       

                                 05  0432 12620 	RSB				; RETURN

                                     0433 12640 ;

                                     0433 12660 ;	MONADIC MINUS - NEGATE

                                     0433 12680 ;

                          56     D5  0433 12700 NEGATE:	TSTL	R6			; TEST ACCUMULATOR

                          03     13  0435 12720 	BEQL	5$			; EMPTY

                          FDDE   30  0437 12740 	BSBW	ENDEXPR			; OTHERWISE PERFORM OPERATION

            6A         80 8F     8C  043A 12760 5$:	XORB	#<1@V_NEGATE>,(R10)	; TOGGLE NEGATE FLAG

                                 05  043E 12780 10$:	RSB				; AND RETURN

                                     043F 12800 

                                     043F 12820 

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  20

                TAB - INDIRECT DISPLAY                                                                                           (1)



                                     043F 12860 	.SBTTL	TAB - INDIRECT DISPLAY

                                     043F 12880 ;

                                     043F 12900 ;	TAB

                                     043F 12920 ;

            6B         04 AB     D0  043F 12940 TAB:	MOVL	QUAN-B(R11),CURDOT-B(R11)	; GO INDIRECT

            01            0F     EF  0443 12960 	EXTZV	#V_PRMODE,#1,(R10),R0	; GET PROCESSOR REGISTER MODE

            50            6A         0446       

            1F            50     F0  0448 12980 	INSV	R0,#V_PREG,#1,(R10)	; AND COPY TO SEMI-PERMANENT FLAG

            6A            01         044B       

                          0F     11  044D 13000 	BRB	LOCP			; AND DISPLAY IT

                                     044F 13020 

                                     044F 13040 ;

                                     044F 13060 ;	ESCAPE - DISPLAY PREVIOUS LOCATION

                                     044F 13080 ;

                                     044F 13100 

                                     044F 13120 ESCAP:					;

            51            01     D0  044F 13140 	MOVL	#1,R1			; ASSUME UNIT INCREMENT

                          6A     D5  0452 13160 	TSTL	(R10)			; CHECK FOR PROCESSOR REGISTER

                          05     19  0454 13180 	BLSS	10$			; YES, USE UNIT INCREMENT

            51         FE AB     9C  0456 13200 	ROTL	CURTYPE-B(R11),R1,R1	; FORM INCREMENT

                          51         045A       

            6B            51     C2  045B 13220 10$:	SUBL	R1,CURDOT-B(R11)	; AND SUBTRACT FROM DOT

                          FE8F   31  045E 13240 LOCP:	BRW	LOCPROMPT		; PROMPT WITH CONTENT

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  21

                EQUALS - DISPLAY VALUE                                                                                           (1)



                                     0461 13280 	.SBTTL	EQUALS - DISPLAY VALUE

                                     0461 13300 ;

                                     0461 13320 ;	EQUALS - VALUE DISPLAY

                                     0461 13340 ;

                                     0461 13360 EQUALS:					;

                                     0461 13380 	.ENABL	LSB			;

                          FE33   30  0461 13400 	BSBW	ENDFIELD		; TERMINATE FIELD

            6A            08     E1  0464 13420 	BBC	#V_F1,(R10),10$		; IGNORE IF FIELD BLANK

                          05         0467       

         04 AB         E4 AB     D0  0468 13440 EQL1:	MOVL	F1-B(R11),QUAN-B(R11)	; SET QUANTITY

                          FE87   30  046D 13460 10$:	BSBW	OUTPUT			; OUTPUT IT

                                     0470 13480 ;	BRB	RESET			; RESET SCANNER

                                     0470 13500 	.DSABL	LSB			;

                                     0470 13520 

                                     0470 13540 ;

                                     0470 13560 ;	RESET

                                     0470 13580 ;

                                     0470 13600 

            6A   00FFFF80 8F     CA  0470 13620 RESET:	BICL	#^X0FFFF80,(R10)		; CLEAR FIELD AND NEGATE FLAGS

                       FC AB     94  0477 13640 	CLRB	FCTR-B(R11)		; CLEAR FIELD COUNTER

                          56     7C  047A 13660 	CLRQ	R6			; RESET ACCUMULATORS

                                 05  047C 13680 	RSB				; RETURN

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  22

                SEMI - SECONDARY COMMAND SET                                                                                     (1)



                                     047D 13720 	.SBTTL	SEMI - SECONDARY COMMAND SET

                                     047D 13740 ;

                                     047D 13760 ;	SEMI

                                     047D 13780 ;

                                     047D 13800 

                                     047D 13820 SECOND:					;

                                 58  047D 13840 	.ASCII	/X/			; X REGISTER SET/DISPLAY

                                 50  047E 13860 	.ASCII	/P/			; P - PROCEED

                                 4D  047F 13880 	.ASCII	/M/			; M - SET MASK

                                 49  0480 13900 	.ASCII	/I/			; I - PROGRAM COUNTER

                                 47  0481 13920 	.ASCII	/G/			; G - GO, START

                                 45  0482 13940 	.ASCII	/E/			; E - EXECUTE STRING

                                 42  0483 13960 	.ASCII	/B/			; B - SET/CLR BREAKPOINT

                           00000007  0484 13980 NSEC=.-SECOND				; NUMBER OF SECONDARY COMMANDS

                                     0484 14000 

                                     0484 14020 SEMI:					;

            6A            01     8A  0484 14040 	BICB	#<1@V_OPEN>,(R10)	; CLEAR OPEN FLAG

                          FE0D   30  0487 14060 	BSBW	ENDFIELD		; TERMINATE FIELD

                          FF2A   30  048A 14080 	BSBW	GETCHAR			; GET SECONDARY COMMAND CHAR

            07            58     3A  048D 14100 	LOCC	R8,#NSEC,SECOND		; LOCATE SECONDARY COMMAND

                       EB AF         0490       

                                     0492 14120 10$:	CASE	R0,LIMIT=#1,<-		; SWITCH ON TYPE

                                     0492 14140 		BRKPOINT,-		; SET BREAKPOINT

                                     0492 14160 		EXECUTE,-		; EXECUTE STRING

                                     0492 14180 		GO,-			; SEMI-G, GO

                                     0492 14200 		PROGCTR,-		; SEMI-I, INSTRUCTION CONTER

                                     0492 14220 		MASKS,-			; SEMI-M, MASK

                                     0492 14240 		PROCED,-		; SEMI-P, PROCEED

                                     0492 14260 		XSET,-			; SET XREGISTER

                                     0492 14280 		>			;

            01            50     AF  0492       	CASEW	R0,#1,S^#<<30007$-30006$>/2>-1

                          06'        0495       

                                     0496       30006$:

                               003A' 0496       	.WORD	BRKPOINT-30006$

                               0382' 0498       	.WORD	EXECUTE-30006$

                               00D8' 049A       	.WORD	GO-30006$

                               00FB' 049C       	.WORD	PROGCTR-30006$

                               00E2' 049E       	.WORD	MASKS-30006$

                               00E1' 04A0       	.WORD	PROCED-30006$

                               0129' 04A2       	.WORD	XSET-30006$

                                     04A4       30007$:

                          FCF2   31  04A4 14300 ERR2:	BRW	ERROR			; ERROR

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  23

                LEFT BRACKET - MODE SELECTION                                                                                    (1)



                                     04A7 14340 	.SBTTL	LEFT BRACKET - MODE SELECTION

                                     04A7 14360 ;

                                     04A7 14380 ;

                                     04A7 14400 ;	LEFT BRACKET

                                     04A7 14420 ;

                                     04A7 14440 MODES:					; MODE CHARACTER LIST

                                 43  04A7 14460 	.ASCII	/C/			; CHARACTER

                                 4C  04A8 14480 	.ASCII	/L/			; LONG, HEX

                                 57  04A9 14500 	.ASCII	/W/			; WORD, HEX

                                 42  04AA 14520 	.ASCII	/B/			; BYTE, HEX

                           00000004  04AB 14540 NMODES=.-MODES				; NUMBER OF MODE CHARACTERS

                                     04AB 14560 

                                     04AB 14580 

                                     04AB 14600 LBRACKET:				; MODE SELECTION

                          FF09   30  04AB 14620 	BSBW	GETCHAR			; GET MODE CHAR

            04            58     3A  04AE 14640 	LOCC	R8,#NMODES,MODES	; CONVERT TO INDEX

                       F4 AF         04B1       

                          EF     13  04B3 14660 	BEQL	ERR2			; NOT FOUND, ERROR

            50            02     E0  04B5 14680 	BBS	#2,R0,10$		; CHECK FOR 'C'

                          09         04B8       

            50            01     83  04B9 14700 	SUBB3	#1,R0,CURTYPE-B(R11)	; SET MODE

                       FE AB         04BC       

            6A            02     8A  04BE 14720 	BICB	#<1@V_ASCII>,(R10)	; CLEAR CHAR MODE

                                 05  04C1 14740 	RSB				; RETURN

            6A            02     88  04C2 14760 10$:	BISB	#<1@V_ASCII>,(R10)	; SET CHARACTER MODE

                                 05  04C5 14780 	RSB

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  24

                SINGLE STEP                                                                                                      (1)



                                     04C6 14820 	.SBTTL	SINGLE STEP

                                     04C6 14840 ;

                                     04C6 14860 ;	STEP

                                     04C6 14880 ;

            03            01     F0  04C6 14900 STEP:	INSV	#1,#V_TBIT,#2,(R10)	; CLR V_ATBRK, SET V_TBIT

            6A            02         04C9       

            6A            0F     E5  04CB 14920 	BBCC	#V_PRMODE,(R10),20$	; CLEAR PROCESSOR REGISTER DISPLAY MODE

                          00         04CE       

                                 04  04CF 14940 20$:	RET				; AND RETURN

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  25

                BRKPOINT - SET/CLEAR BREAKPOINTS                                                                                 (1)



                                     04D0 14980 	.SBTTL	BRKPOINT - SET/CLEAR BREAKPOINTS

                                     04D0 15000 ;

                                     04D0 15020 ;	BRKPOINT

                                     04D0 15040 ;

                                     04D0 15060 BRKPOINT:				; 

            6A            08     E1  04D0 15080 	BBC	#V_F1,(R10),SHOBRK	; DISPLAY BREAKPOINTS

                          58         04D3       

            6A            09     E0  04D4 15100 	BBS	#V_F2,(R10),20$		; YES, IT WAS SPECIFIED

                          12         04D7       

            52            01     D0  04D8 15120 	MOVL	#1,R2			; INIT INDEX

                     FBD4 CF42   D5  04DB 15140 10$:	TSTL	BRKADR[R2]		; FIND FREE SLOT

                          13     13  04E0 15160 	BEQL	30$			; YES, GOT ONE

            01            08     F1  04E2 15180 	ACBL	#NBRK,#1,R2,10$		; CHECK THEM ALL

            FFF3          52         04E5       

                          BA     11  04E8 15200 	BRB	ERR2			; ERROR

            52         E8 AB     D0  04EA 15220 20$:	MOVL	F2-B(R11),R2		; GET BRKPOINT NUMBER

                          EB     13  04EE 15240 	BEQL	10$			; NULL FIELD, SCAN FOR SLOT

            52            08     D1  04F0 15260 	CMPL	#NBRK,R2		; CHECK FOR LEGAL

                          AF     19  04F3 15280 	BLSS	ERR2			; OUT OF RANGE

                     FBE2 CF42   D4  04F5 15300 30$:	CLRL	BRKDSP[R2]		; CLEAR DISPLAY

                     FBFD CF42   D4  04FA 15320 	CLRL	BRKCOM[R2]		; CLEAR COMMAND ADDRESS

            50         E4 AB     D0  04FF 15340 	MOVL	F1-B(R11),R0		; GET BREAKPOINT ADDRESS

                          03     13  0503 15360 	BEQL	35$			; ALLOW CLEAR OF BREAKPOINT

                                     0505 15380 	.IF	DF,SW_PROCESS		;

                                     0505 15400 	PUSHR	#^M<R0,R1,R2,R3,R4,R5,R6>	; SAVE REGISTERS FOR PROTECTION CHANGE

                                     0505 15420 	MOVL	R0,R5			; SET START ADDRESS

                                     0505 15440 	MOVL	R0,R6			; AND END ADDRESS

                                     0505 15460 	BSBW	SETWRT			; SET PAGE WRITABLE

                                     0505 15480 	MOVL	(SP),R0			; RESTORE BPT ADDRESS

                                     0505 15500 	.ENDC				;

            60            60     90  0505 15520 	MOVB	(R0),(R0)		; TEST WRITABILITY OF ADDRESS

                                     0508 15540 	.IF	DF,SW_PROCESS		;

                                     0508 15560 	BSBW	REPROT			; RESTORE PROTECTION

                                     0508 15580 	POPR	#^M<R0,R1,R2,R3,R4,R5,R6>	; AND REGISTERS

                                     0508 15600 	.ENDC				;

            6A            0A     E1  0508 15620 35$:	BBC	#V_F3,(R10),40$		; DISPLAY SPECIFIED?

                          0C         050B       

       FBC9 CF42       EC AB     D0  050C 15640 	MOVL	F3-B(R11),BRKDSP[R2]	; SET DISPLAY START

                          03     13  0513 15660 	BEQL	40$			; SKIP TEST IF NULL

                       EC BB     D5  0515 15680 	TSTL	@F3-B(R11)		; CHECK READABILITY

            6A            0B     E1  0518 15700 40$:	BBC	#V_F4,(R10),45$		; SKIP IF NO COMMAND ADDRESS

                          07         051B       

       FBD9 CF42       F0 AB     D0  051C 15720 	MOVL	F4-B(R11),BRKCOM[R2]	; SET COMMAND STRING

       FB8B CF42          50     D0  0523 15740 45$:	MOVL	R0,BRKADR[R2]		; SAVE BREAKPOINT ADDRESS

                          FF44   31  0529 15760 	BRW	RESET			; RESET SCANNER AND RETURN

                                     052C 15780 ;

                                     052C 15800 ;	SHOBRK

                                     052C 15820 ;

                                     052C 15840 SHOBRK:					;

            55            01     D0  052C 15860 	MOVL	#1,R5			; INIT INDEX FOR LOOP

            58       FB80 CF45   D0  052F 15880 10$:	MOVL	BRKADR[R5],R8		; GET BREAKPOINT ADDRESS

                          2E     13  0535 15900 	BEQL	20$			; SKIP IF NULL

            53            55     D0  0537 15920 	MOVL	R5,R3			; BREAKPOINT NUMBER

                          FE70   30  053A 15940 	BSBW	CRLF			; NEW LINE

                          FE16   30  053D 15960 	BSBW	OUTDIGIT		; BPT NUMBER

                          FE65   30  0540 15980 	BSBW	OUTSPACE		; SPACE

            53            58     D0  0543 16000 	MOVL	R8,R3			; ADDRESS OF BPT

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  26

                BRKPOINT - SET/CLEAR BREAKPOINTS                                                                                 (1)



                          FE11   30  0546 16020 	BSBW	OUTLONG			; OUTPUT ADDRESS

                          FE5C   30  0549 16040 	BSBW	OUTSPACE		; SPACE OVER

            53       FB8B CF45   D0  054C 16060 	MOVL	BRKDSP[R5],R3		; GET DISPLAY START

                          03     13  0552 16080 	BEQL	15$			; NONE

                          FE03   30  0554 16100 	BSBW	OUTLONG			; OUTPUT DISPLAY START

            53       FBA0 CF45   D0  0557 16120 15$:	MOVL	BRKCOM[R5],R3		; GET COMMAND STRING ADDRESS

                          06     13  055D 16140 	BEQL	20$			; NONE

                          FE46   30  055F 16160 	BSBW	OUTSPACE		; SPACE ANOTHER

                          FDF5   30  0562 16180 	BSBW	OUTLONG			; AND OUTPUT A LONGWORD

            01            08     F1  0565 16200 20$:	ACBL	#NBRK,#1,R5,10$		; DO THEM ALL

            FFC4          55         0568       

                          FE3F   31  056B 16220 	BRW	CRLF			; AND EXIT THROUGH CRLF

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  27

                GO - START EXECUTION AT SPECIFIED LOCATION                                                                       (1)



                                     056E 16260 	.SBTTL	GO - START EXECUTION AT SPECIFIED LOCATION

                                     056E 16280 ;

                                     056E 16300 ;	GO

                                     056E 16320 ;

            6A            08     E1  056E 16340 GO:	BBC	#V_F1,(R10),PROCED	; JUST PROCEED IF NO VALUE

                          05         0571       

         54 AB         E4 AB     D0  0572 16360 	MOVL	F1-B(R11),SAVPC-B(R11)	; SET NEW PC

                                     0577 16380 ;	BRW	PROCED			; FALL INTO PROCEED

                                     0577 16400 ;

                                     0577 16420 ;	PROCEED

                                     0577 16440 ;

                                     0577 16460 PROCED:					;

                                 04  0577 16480 	RET				; RETURN

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  28

                SEMI-I, PC VALUE                                                                                                 (1)



                                     0578 16520 	.SBTTL	SEMI-I, PC VALUE

                                     0578 16540 ;

                                     0578 16560 ;	SEMI-I

                                     0578 16580 ;

            51         F8 AB     DE  0578 16600 MASKS:	MOVAL	MASK-B(R11),R1		; SET MASK ADDRESS

                          17     11  057C 16620 	BRB	VALUE			; SET/GET VALUE

            51            6B     DE  057E 16640 DOT:	MOVAL	CURDOT-B(R11),R1	; SET ADDRESS OF DOT

            6A            1F     E1  0581 16660 	BBC	#V_PREG,(R10),VALR	; WAS IT PROCESSOR REGISTER?

                          18         0584       

            6A            0F     E2  0585 16680 	BBSS	#V_PRMODE,(R10),VALR	; YES, SET PROCESSOR REGISTER MODE

                          14         0588       

                          12     11  0589 16700 	BRB	VALR			; READ VALUE

            51         04 AB     DE  058B 16720 QUANT:	MOVAL	QUAN-B(R11),R1		; SET QUANTITY ADDRESS

                          0C     11  058F 16740 	BRB	VALR			; READ VALUE

                                     0591 16760 PROGCTR:				;

            51         54 AB     DE  0591 16780 	MOVAL	SAVPC-B(R11),R1		; SET PC ADDRESS

            6A            08     E1  0595 16800 VALUE:	BBC	#V_F1,(R10),VALR	; SKIP IF NO VALUE

                          04         0598       

            61         E4 AB     D0  0599 16820 	MOVL	F1-B(R11),(R1)		; SET NEW VALUE FOR PC

            56            61     D0  059D 16840 VALR:	MOVL	(R1),R6	; AND GET VALUE

                          FC5C   31  05A0 16860 VALI:	BRW	INFLD			; SET FIELD IN PROGRESS

                                     05A3 16880 REGISTER:				;

            55         18 AB     DE  05A3 16900 	MOVAL	SAVREG-B(R11),R5	; SET BASE OF REGISTER AREA

                          02     10  05A7 16920 	BSBB	REGCOM			; FETCH ADDRESS

                          F5     11  05A9 16940 	BRB	VALI			; AND USE IT

                          FE09   30  05AB 16960 REGCOM:	BSBW	GETCHAR			; GET SECOND CHAR

            10            58     3A  05AE 16980 	LOCC	R8,#16,PRIMARY		; TRANSLATE TO HEX

                     FBB0 CF         05B1       

                                     05B4 17000 	.IF	DF,SW_PROCESS		; FOR PROCESS VERSION

                                     05B4 17020 	BNEQ	10$			; LEGAL HEX DIGIT

                                     05B4 17040 	CMPW	#^A/XI/,-2(R9)		; CHECK FOR EXIT COMMAND

                                     05B4 17060 	BNEQ	ERR3			; NO, ERROR

                                     05B4 17080 	$EXIT_S	EXITCODE		; YES EXIT

                                     05B4 17100 	.IFF				;

                          31     13  05B4 17120 	BEQL	ERR3			; ERROR, NOT HEX

                                     05B6 17140 	.ENDC				;

                                     05B6 17160 10$:					;

            10            50     C3  05B6 17180 	SUBL3	R0,#16,R0		; INVERT

                          50         05B9       

            56            6540   DE  05BA 17200 	MOVAL	(R5)[R0],R6		; ACCUMULATE

                                 05  05BE 17220 	RSB				; RETURN

                                     05BF 17240 

            6A            09     E1  05BF 17260 XSET:	BBC	#V_F2,(R10),ERR3	; ERROR IF NOT TWO FIELDS

                          24         05C2       

            04            00     EF  05C3 17280 	EXTZV	#0,#4,F2-B(R11),R1	; GET REGISTER NUMBER

            51         E8 AB         05C6       

            51       FB52 CF41   DE  05C9 17300 	MOVAL	XREGV[R1],R1		; AND COMPUTE REGISTER ADDRESS

                          C4     11  05CF 17320 	BRB	VALUE			; PROCESS VALUE

                                     05D1 17340 XREG:					; X-REGISTER VALUE

            55       FB4B CF     DE  05D1 17360 	MOVAL	XREGV,R5		; SET ADDRESS OF REGISTER VECTOR

                          D3     10  05D6 17380 	BSBB	REGCOM			; ADDRESS TO R6

            56            66     D0  05D8 17400 	MOVL	(R6),R6			; GET VALUE

                          C3     11  05DB 17420 	BRB	VALI			; AND NOTE INPUT IN FIELD

                                     05DD 17440 	.ALIGN	LONG			; LONGWORD ALIGN EXCEPTION ROUTINES

                                     05E0 17460 XDELACV:				; ACCESS VIOLATION HANDLER

                                     05E0 17480 MCHK:					; MACHINE CHECK

                                     05E0 17500 	.IF	NDF,SW_PROCESS		;

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  29

                SEMI-I, PC VALUE                                                                                                 (1)



                          5C     D5  05E0 17520 	TSTL	AP			; CHECK FOR SIMULATOR

                          03     12  05E2 17540 	BNEQ	10$			; YES, SKIP RESET

            30            00     DA  05E4 17560 	MTPR	#0,#PR$_SBIFS		; FOR STAR, RESET SBI FAULT STATUS

                                     05E7 17580 	.ENDC				;

                                     05E7 17600 10$:					;

                          FBAF   31  05E7 17620 ERR3:	BRW	ERROR			; AND DECLARE ERROR

                                     05EA 17640 

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  30

                REGISTER SAVE AND RESTORE                                                                                        (1)



                                     05EA 17680 	.SBTTL	REGISTER SAVE AND RESTORE

                                     05EA 17700 

                                     05EA 17720 ;

                                     05EA 17740 ;	SAVE - SAVE TARGET REGISTERS, PC, PSL

                                     05EA 17760 ;

                                     05EA 17780 SAVE:					;

                                     05EA 17800 	.IF	NDF,SW_PROCESS		;

                                     05EA 17820 	SETIPL	#31			; DISABLE

            12            1F     DA  05EA       		MTPR	#31,#PR$_IPL

                 00000000'EF     16  05ED 17840 	JSB	INI$WRITABLE		; MAKE THE SYSTEM WRITABLE

       FA74 CF            50     7D  05F3 17860 	MOVQ	R0,SAVREG		; SAVE R0,R1

            51       FA78 CF     9E  05F8 17880 	MOVAB	SAVR2,R1		; SETUP BASE FOR REMAINING REGS

                                     05FD 17900 	.IFF				; FALSE IF PROCESS VERSION

                                     05FD 17920 	$SETAST_S	#0		; DISABLE ASTS

                                     05FD 17940 	PUSHAB	-(R0)			; SAVE ENABLE VALUE-1

                                     05FD 17960 	MOVPSL	R1			; GET CURRENT PSL

                                     05FD 17980 	EXTZV	#PSL$V_CURMOD,#PSL$S_CURMOD,R1,R1	; ISOLATE CURRENT MODE

                                     05FD 18000 	MULW	#CONTEXTSZ,R1		; COMPUTE OFFSET TO PROPER CONTEXT AREA

                                     05FD 18020 	MOVAB	SAVREG[R1],R1		; FORM ADDRESS OF REGISTER SAVE

                                     05FD 18040 	MOVL	8(AP),R0		; GET POINTER TO MECHANISM

                                     05FD 18060 	MOVQ	12(R0),(R1)+		; SAVE R0,R1

                                     05FD 18080 	.ENDC				;

            81            52     7D  05FD 18100 	MOVQ	R2,(R1)+		; SAVE R2,R3

            81            54     7D  0600 18120 	MOVQ	R4,(R1)+		; SAVE R4,R5

            81            56     7D  0603 18140 	MOVQ	R6,(R1)+		; SAVE R6,R7

            81            58     7D  0606 18160 	MOVQ	R8,(R1)+		; SAVE R8,R9

            81            5A     7D  0609 18180 	MOVQ	R10,(R1)+		; SAVE R10,R11

                                     060C 18200 	.IF	NDF,SW_PROCESS		;

            81            5C     7D  060C 18220 	MOVQ	AP,(R1)+		; SAVE AP,FP

            81         0C AE     9E  060F 18240 	MOVAB	12(SP),(R1)+		; ASSUME KERNEL STACK

            81         04 AE     7D  0613 18260 	MOVQ	4(SP),(R1)+		; SAVE PC,PSL

                                     0617 18280 	.IFF				;

                                     0617 18300 	MOVQ	8(FP),(R1)+		; SAVE AP,FP

                                     0617 18320 	SUBL3	#1,@4(AP),R0		; GET NUMBER OF ARGS IN SIGNAL

                                     0617 18340 	MOVAL	@4(AP)[R0],R0		; POINT TO PC,PSL

                                     0617 18360 	MOVAL	8(R0),(R1)+		; COMPUTE SP

                                     0617 18380 	MOVQ	(R0),(R1)+		; SAVE PC,PSL

                                     0617 18400 	.ENDC				;

                                     0617 18420 	.IF	NDF,SW_PROCESS		;

                           00000001  0617 18440 	.IF	NE,CA$_SIMULATOR	; INCLUDE FOR SIMULATOR ONLY

   00000000'EF            00'    E0  0617 18460 	BBS	S^#EXE$V_SIMULATOR,EXE$GL_FLAGS,10$	; BR IF SIMULATOR

                          10         061E       

                                     061F 18480 	.ENDC				;

            81            22     DB  061F 18500 	MFPR	#PR$_TXCS,(R1)+		; SAVE CONSOLE TRANSMIT STATUS

            81            20     DB  0622 18520 	MFPR	#PR$_RXCS,(R1)+		; SAVE CONSOLE RECVR STATUS

                          5C     D4  0625 18540 	CLRL	AP			; ZAP DEVICE ADDRESS BASE

                                     0627 18560 	.ENDC				;

                                     0627 18580 	.IF	NDF,SW_PROCESS		;

            22            00     DA  0627 18600 	MTPR	#0,#PR$_TXCS		; CLEAR INTERRUPT ENABLE

            20            00     DA  062A 18620 	MTPR	#0,#PR$_RXCS		; FOR BOTH TRANSMIT AND RECEIVE

                      00000001       062D 18640 	.IF	NE,CA$_SIMULATOR	; INCLUDE FOR SIMULATOR

                          19     11  062D 18660 	BRB	20$			; MERGE WITH COMMON CODE

            5C   00000170'8F     D0  062F 18680 10$:	MOVL	#<SYS$IOBASE+^X170>,AP	; SET CSR ADDRESS FOR TERMINAL

            81         04 AC     B0  0636 18700 	MOVW	OUTCR(AP),(R1)+	; SAVE OUTPUT CSR

            81            6C     B0  063A 18720 	MOVW	RDCR(AP),(R1)+		; AND INPUT CSR

            50         40 8F     9A  063D 18740 	MOVZBL	#^X40,R0		; INTERRUPT ENABLE BIT

         04 AC            50     AA  0641 18760 	BICW	R0,OUTCR(AP)		; CLEAR INTERRUPT ENABLES

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  31

                REGISTER SAVE AND RESTORE                                                                                        (1)



            6C            50     AA  0645 18780 	BICW	R0,RDCR(AP)		; BITS IN BOTH CSR

                                     0648 18800 	.ENDC				;

                                     0648 18820 	.ENDC				;

                                     0648 18840 	.IF	NDF,SW_PROCESS		;

            5B       FA08 CF     9E  0648 18860 20$:	MOVAB	B,R11			; AND DATA BASE ADDRESS

                                     064D 18880 	.IFF				; FALSE FOR PROCESS VERSION

                                     064D 18900 	MOVAB	W^<B-<SAVPSL+4>>(R1),R11	; SET BASE OF CONTEXT AREA

                                     064D 18920 	MOVL	(SP)+,ASTEN-B(R11)	; SAVE AST ENABLE

                                     064D 18940 	.ENDC				;

            5A         E0 AB     9E  064D 18960 	MOVAB	STATUS-B(R11),R10	; SET STATUS BASE

            59         B0 AB     9E  0651 18980 	MOVAB	INBUF-B(R11),R9		; POINT TO INPUT BUFFER

                          69     94  0655 19000 	CLRB	(R9)			; MAKE BUFFER EMPTY

                                     0657 19020 	.IF	NDF,SW_PROCESS		;

            50   FFFFFFFC'EF     DE  0657 19040 	MOVAL	EXE$MCHKVEC-4,R0	; SET BASE OF SCB

       FAFC CF         04 A0     D0  065E 19060 	MOVL	4(R0),MCHKSAV		; SAVE ORIGINAL MCHK VECTOR

         04 A0       FF78 CF     9E  0664 19080 	MOVAB	MCHK,4(R0)		; SET TO XDELTA VECTOR

         20 A0       FF72 CF     9E  066A 19100 	MOVAB	XDELACV,^X20(R0)	; SET ACCESS VIOLATION VECTOR

         24 A0       FF6C CF     9E  0670 19120 	MOVAB	XDELACV,^X24(R0)	; SET PG FAULT VECTOR

         18 A0       FF66 CF     9E  0676 19140 	MOVAB	XDELACV,^X18(R0)	; SET RESERVED OPERAND HANDLER

            02            18     EF  067C 19160 	EXTZV	#PSL$V_CURMOD,#PSL$S_CURMOD,8(SP),R0	; GET MODE

            50         08 AE         067F       

                          07     13  0682 19180 	BEQL	30$			; CORRECT ALREADY IF KERNEL

            50            00     C0  0684 19200 	ADDL	#PR$_KSP,R0		; COMPUTE PROCESSOR REGISTER

         50 AB            50     DB  0687 19220 	MFPR	R0,SAVSP-B(R11)		; AND SAVE CORRECT SP

                                     068B 19240 	.ENDC				;

                          FDE2   31  068B 19260 30$:	BRW	RESET			; RESET SCANNER

                                     068E 19280 

                                     068E 19300 ;

                                     068E 19320 ;	RESTORE - RESTORE TARGET REGISTERS

                                     068E 19340 ;

                                     068E 19360 RESTORE:				; RESTORE EVERYTHING

                                     068E 19380 	.IF	NDF,SW_PROCESS		;

         04 AE         54 AB     7D  068E 19400 	MOVQ	SAVPC-B(R11),4(SP)	; SET PC,PSL

                                     0693 19420 	.IFF				; FALSE IF PROCESS

                                     0693 19440 	SUBL3	#1,@4(AP),R0		; GET SIGNAL ARG COUNT

                                     0693 19460 	MOVAL	@4(AP)[R0],R0		; COMPUTE ADDRESS OF PC,PSL

                                     0693 19480 	MOVQ	SAVPC-B(R11),(R0)	; STORE UPDATED PC,PSL

                                     0693 19500 	.ENDC				;

                                     0693 19520 RESTORR:				; RESTORE REGISTERS ONLY

                                     0693 19540 	.IF	NDF,SW_PROCESS		;

            50   FFFFFFFC'EF     9E  0693 19560 	MOVAB	EXE$MCHKVEC-4,R0	; SET BASE OF SCB

         20 A0   00000000'EF     9E  069A 19580 	MOVAB	EXE$ACVIOLAT,^X20(R0)	; RESTORE ACCESS VECTOR

         24 A0   00000000'EF     9E  06A2 19600 	MOVAB	MMG$PAGEFAULT,^X24(R0)	; AND PAGE FAULT VECTOR

         04 A0       FAB2 CF     D0  06AA 19620 	MOVL	MCHKSAV,4(R0)		; RESTORE MACHINE CHECK VECTOR

         18 A0   00000000'EF     9E  06B0 19640 	MOVAB	EXE$ROPRAND,^X18(R0)	; RESTORE RESERVED OPERAND VECTOR

                          5C     B5  06B8 19660 	TSTW	AP			; CHECK FOR CONSOLE

                          0A     12  06BA 19680 	BNEQ	10$			; NO, OTHER DEVICE

            22         5C AB     DA  06BC 19700 	MTPR	SAVOCR-B(R11),#PR$_TXCS	; RESTORE INITIAL TX STATUS

            20         60 AB     DA  06C0 19720 	MTPR	SAVRXCS-B(R11),#PR$_RXCS; AND INITIAL RECEIVER STATE

                          09     11  06C4 19740 	BRB	20$			; MERGE WITH COMMON CODE

         04 AC         5C AB     B0  06C6 19760 10$:	MOVW	SAVOCR-B(R11),OUTCR(AP)	; RESTORE OUTPUT CSR

            6C         5E AB     B0  06CB 19780 	MOVW	SAVRCR-B(R11),RDCR(AP)	; AND INPUT CSR CONTENT

                                     06CF 19800 	.IFF				;

                                     06CF 19820 	PUSHL	ASTEN-B(R11)		; SAVE AST ENABLE

                                     06CF 19840 	.ENDC				;

            51         20 AB     9E  06CF 19860 20$:	MOVAB	SAVR2-B(R11),R1		; SET BASE FOR RESTORE

            52            81     7D  06D3 19880 	MOVQ	(R1)+,R2		; RESTORE R2,R3

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  32

                REGISTER SAVE AND RESTORE                                                                                        (1)



            54            81     7D  06D6 19900 	MOVQ	(R1)+,R4		; RESTORE R4,R5

            56            81     7D  06D9 19920 	MOVQ	(R1)+,R6		; RESTORE R6,R7

            58            81     7D  06DC 19940 	MOVQ	(R1)+,R8		; RESTORE R8,R9

            5A            81     7D  06DF 19960 	MOVQ	(R1)+,R10		; RESTORE R10,R11

                                     06E2 19980 	.IF	NDF,SW_PROCESS		;

            5C            81     7D  06E2 20000 	MOVQ	(R1)+,AP		; RESTORE AP,FP

            50       F983 CF     7D  06E5 20020 	MOVQ	SAVREG,R0		; RESTORE R0,R1

                                     06EA 20040 	.IFF				; FALSE IF PROCESS VERSION

                                     06EA 20060 	MOVQ	(R1)+,8(FP)		; SET NEW VALUES FOR AP,FP

                                     06EA 20080 	MOVL	8(AP),R0		; GET MECHANISM POINTER

                                     06EA 20100 	MOVQ	<SAVREG-SAVSP>(R1),12(R0)	; STORE UPDATED R0,R1

                                     06EA 20120 	MOVPSL	R1			; GET CURRENT PSL

                                     06EA 20140 	EXTZV	#PSL$V_CURMOD,#PSL$S_CURMOD,R1,R1	; GET CURRENT MODE

                                     06EA 20160 	BBCC	R1,DBGACTIVE,30$	; CLEAR ACTIVE BIT FOR MODE

                                     06EA 20180 30$:					;

                                     06EA 20200 	TSTL	(SP)+			; CHECK FOR AST ENABLE

                                     06EA 20220 	BEQL	35$			; NO

                                     06EA 20240 	$SETAST_S	#1		; RE- ENABLE AST RECOGNITION

                                     06EA 20260 35$:					;

                                     06EA 20280 	.ENDC				;

                                     06EA 20300 	.IF	NDF,SW_PROCESS		;

                 00000000'EF     16  06EA 20320 	JSB	INI$RDONLY		; REPROTECT THE SYSTEM CODE

                                     06F0 20340 	.ENDC				;

                                 05  06F0 20360 	RSB				; AND RETURN

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  33

                BPT TRAP HANDLER                                                                                                 (1)



                                     06F1 20400 	.SBTTL	BPT TRAP HANDLER

                                     06F1 20420 ;

                                     06F1 20440 ;	HANDLE BREAKPOINT TRAPS

                                     06F1 20460 ;

         00 20 54 41 20 4B 52 42 20  06F1 20480 BMSG:	.ASCIZ	/ BRK AT /		; BREAK POINT MESSAGE

                                     06FA 20500 	.ALIGN	LONG			; LONGWORD ALIGNMENT

                                     06FC 20520 	.IF	NDF,SW_PROCESS		; EXEC VERSION

                                     06FC 20540 XDELBPT::				; XDELTA BPT ENTRY

                                     06FC 20560 	.IFF				;

                                     06FC 20580 XDELBPT:				; DELTA BPT ENTRY

                                     06FC 20600 	.ENDC				;

                          FEEB   30  06FC 20620 	BSBW	SAVE			; SAVE REGS AND DISABLE

                          00CC   30  06FF 20640 	BSBW	GETBPTX			; GET INDEX OF BPT

                          53     D5  0702 20660 	TSTL	R3			; CHECK FOR MATCH

                          0F     12  0704 20680 	BNEQ	10$			; YES, FOUND IT

                          8B     10  0706 20700 	BSBB	RESTORR			; RESTORE REGISTERS ONLY

                                     0708 20720 	.IF	NDF,SW_PROCESS		;

            7E         06 AE     9A  0708 20740 	MOVZBL	6(SP),-(SP)		; GET IPL

                                     070C 20760 	ENBINT				; ENABLE

            12            8E     DA  070C       		MTPR	(SP)+,#PR$_IPL

                 00000000'EF     17  070F 20780 	JMP	EXE$BREAK		; AND HANDLE NORMALLY

                                     0715 20800 	.IFF				; FALSE IF PROCESS VERSION

                                     0715 20820 ;

                                     0715 20840 ;	***** UNEXPECTED BREAKPOINT *****

                                     0715 20860 	CLRL	R0			; RETURN FALSE

                                     0715 20880 	RET				;

                                     0715 20900 	.ENDC				;

            6A            18     88  0715 20920 10$:	BISB	#<<1@V_TBIT>!<1@V_ATBRK>>,(R10)	; SET STATUS

                                     0718 20940 30$:					;

                          007B   30  0718 20960 	BSBW	UNBRK			; RESTORE OPCODES

         58 AB            04     E0  071B 20980 	BBS	#PSL$V_TBIT,SAVPSL-B(R11),PROCEED	; PROCEED IF BPT AND TBIT

                          38         071F       

            55            53     D0  0720 21000 	MOVL	R3,R5			; SAVE BPT NUMBER

                          FC87   30  0723 21020 	BSBW	CRLF			; OUTPUT CR/LF PAIR

                          FC2D   30  0726 21040 	BSBW	OUTDIGIT		; OUTPUT BPT NUMBER

            54         C5 AF     9E  0729 21060 	MOVAB	BMSG,R4			; MSG ADDRESS

                          FC47   30  072D 21080 	BSBW	OUTZSTRING		; OUTPUT ASCIIZ

            53         54 AB     D0  0730 21100 	MOVL	SAVPC-B(R11),R3		; OUTPUT PC

                          FC23   30  0734 21120 	BSBW	OUTLONG			; OUTPUT HEX LONGWORD

                          FC6E   30  0737 21140 	BSBW	OUTSPACE		; SEND SPACE

            51       F99D CF45   D0  073A 21160 	MOVL	BRKDSP[R5],R1		; GET ADDRESS TO DISPLAY

                          06     13  0740 21180 	BEQL	40$			; NONE

            6B            51     D0  0742 21200 	MOVL	R1,CURDOT-B(R11)	; SET AS CURRENT DOT

                          FBA8   30  0745 21220 	BSBW	LOCPROMPT		; AND DISPLAY

            51       F9AF CF45   D0  0748 21240 40$:	MOVL	BRKCOM[R5],R1		; GET COMMAND STRING ADDRESS

                          03     13  074E 21260 	BEQL	GETCMD			; NONE GET COMMAND

            59            51     D0  0750 21280 	MOVL	R1,R9			; SET TO SCAN STORED COMMAND

                                     0753 21300 GETCMD:					; GET COMMANDS

                                     0753 21320 

       FA3D CF            6C     FA  0753 21340 	CALLG	(AP),DCOM		; PERFORM DEBUG COMMANDS

                                     0758 21360 PROCEED:				; PROCEED

                          51     10  0758 21380 	BSBB	SETBRK			; SET BREAKPOINTS

            6A            03     E5  075A 21400 	BBCC	#V_TBIT,(R10),50$	; TEST AND CLR TRACE FLAG

                          09         075D       

         58 AB            04     E2  075E 21420 30$:	BBSS	#PSL$V_TBIT,SAVPSL-B(R11),40$	; SET TBIT

                          00         0762       

                                     0763 21440 40$:					;

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  34

                BPT TRAP HANDLER                                                                                                 (1)



                                     0763 21460 	.IF	DF,SW_PROCESS		; FOR PROCESS VERSION

                                     0763 21480 	CMPB	#2,@SAVPC-B(R11)	; CHECK FOR REI OPCODE

                                     0763 21500 	BNEQ	45$			; NO, NOTHING SPECIAL

                                     0763 21520 	EXTZV	#PSL$V_CURMOD,#PSL$S_CURMOD,SAVPSL-B(R11),R0	; GET NEW MODE

                                     0763 21540 	MULW	#CONTEXTSZ,R0		; SCALE BY PER MODE CONTEXT AREA SIZE

                                     0763 21560 	MOVAB	STATUS-B(R0),R10	; POINT TO NEW FLAGS

                                     0763 21580 	.ENDC				;

            6A            05     E2  0763 21600 45$:	BBSS	#V_TBITOK,(R10),50$	; SET TBIT EXPECTED

                          00         0766       

                          FF24   30  0767 21620 50$:	BSBW	RESTORE			; RESTORE EVERYTHING

                                     076A 21640 	.IF	NDF,SW_PROCESS		;

                                 02  076A 21660 	REI				; AND RETURN

                                     076B 21680 	.IFF				; FALSE IF PROCESS VERSION

                                     076B 21700 	MOVL	#1,R0			; RETURN TRUE

                                     076B 21720 	RET				;

                                     076B 21740 	.ENDC				;

                                     076B 21760 

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  35

                TBIT EXCEPTION HANDLER                                                                                           (1)



                                     076B 21800 	.SBTTL	TBIT EXCEPTION HANDLER

                                     076B 21820 ;

                                     076B 21840 ;	HANDLER FOR TBIT EXCEPTION

                                     076B 21860 ;

                                     076B 21880 	.ALIGN	LONG			; LONGWORD ALIGNED

                                     076C 21900 	.IF	NDF,SW_PROCESS		;

                                     076C 21920 XDELTBIT::				; XDELTA TBIT HANDLER

                                     076C 21940 	.IFF				;

                                     076C 21960 XDELTBIT:				;

                                     076C 21980 	.ENDC				;

                          FE7B   30  076C 22000 	BSBW	SAVE			; SAVE AND DISABLE

            6A            05     E4  076F 22020 	BBSC	#V_TBITOK,(R10),XDELDBG	; BR IF TBIT EXPECTED

                          10         0772       

                          FF1D   30  0773 22040 	BSBW	RESTORR			; RESTORE REGISTERS

                                     0776 22060 	.IF	NDF,SW_PROCESS		;

            7E         06 AE     9A  0776 22080 	MOVZBL	6(SP),-(SP)		; GET IPL FOR ENABLE

                                     077A 22100 	ENBINT				; ENABLE

            12            8E     DA  077A       		MTPR	(SP)+,#PR$_IPL

                 00000000'EF     17  077D 22120 	JMP	EXE$TBIT		; OTHERWISE LET EXEC HANDLE

                                     0783 22140 	.IFF				; FALSE IF PROCESS VERSION

                                     0783 22160 	CLRL	R0			; RESIGNAL

                                     0783 22180 	RET				; UNEXPECTED TBIT EXCEPTION

                                     0783 22200 	.ENDC				;

                                     0783 22220 XDELDBG:				; COMMON WITH DEBUG EXCEPTION

         58 AB            10     CA  0783 22240 	BICL	#<1@PSL$V_TBIT>,SAVPSL-B(R11)	; CLEAR TBIT IN PSL

                          0D     10  0787 22260 	BSBB	UNBRK			; REPLACE OPCODES

            6A            04     E4  0789 22280 	BBSC	#V_ATBRK,(R10),PROCEED	; CHECK FOR PROCEED

                          CB         078C       

                                     078D 22300 ;

                                     078D 22320 ;	OUTPUT STEP MESSAGE

                                     078D 22340 ;

            6B         54 AB     D0  078D 22360 	MOVL	SAVPC-B(R11),CURDOT-B(R11)	; SET ADDRESS

                          FB5C   30  0791 22380 	BSBW	LOCPROMPT		; PROMPT WITH ADDRESS/CONTENT

                          BD     11  0794 22400 	BRB	GETCMD			; GO GET COMMANDS

                                     0796 22420 

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  36

                UNBRK - RESTORE OPCODES FOR BREAKPOINTS                                                                          (1)



                                     0796 22460 	.SBTTL	UNBRK - RESTORE OPCODES FOR BREAKPOINTS

                                     0796 22480 ;

                                     0796 22500 ;	UNBRK

                                     0796 22520 ;

                                     0796 22540 UNBRK:					;

            51            08     D0  0796 22560 	MOVL	#NBRK,R1		; INIT LOOP

            50       F916 CF41   D0  0799 22580 10$:	MOVL	BRKADR[R1],R0		; GET BREAKPOINT ADDRESS

                          06     13  079F 22600 	BEQL	20$			; SKIP IF NOT ENABLED

                                     07A1 22620 	.IF	DF,SW_PROCESS		;

                                     07A1 22640 	PUSHR	#^M<R0,R1,R2,R3,R4,R5>	; SAVE REGS FOR PROTECTION CHANGE

                                     07A1 22660 	MOVL	R0,R4			; FORM INADR RANGE FOR SET PROTECTION

                                     07A1 22680 	MOVL	R0,R5			;

                                     07A1 22700 	BSBW	SETWRT			; SET PAGE WRITABLE

                                     07A1 22720 	MOVQ	(SP),R0			; RESTORE R0,R1

                                     07A1 22740 	.ENDC				;

            60       F931 CF41   90  07A1 22760 	MOVB	BRKOP[R1],(R0)		; RESTORE OPCODE

                                     07A7 22780 	.IF	DF,SW_PROCESS		;

                                     07A7 22800 	BSBW	REPROT			; RESTORE PROTECTION

                                     07A7 22820 	POPR	#^M<R0,R1,R2,R3,R4,R5>	; RESTORE REGISTERS

                                     07A7 22840 	.ENDC				;

            EF            51     F5  07A7 22860 20$:	SOBGTR	R1,10$			; DO THEM ALL

                                 05  07AA 22880 	RSB				; AND RETURN

                                     07AB 22900 

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  37

                SETBRK - SET BREAK POINT INSTRUCTIONS                                                                            (1)



                                     07AB 22940 	.SBTTL	SETBRK - SET BREAK POINT INSTRUCTIONS

                                     07AB 22960 ;

                                     07AB 22980 ;	SETBRK

                                     07AB 23000 ;

            51            08     D0  07AB 23020 SETBRK:	MOVL	#NBRK,R1		; INIT LOOP

            50       F901 CF41   D0  07AE 23040 10$:	MOVL	BRKADR[R1],R0		; GET ADDRESS

                          14     13  07B4 23060 	BEQL	20$			; SKIP IF NOT ENABLED

       F91B CF41          60     90  07B6 23080 	MOVB	(R0),BRKOP[R1]		; SAVE OPCODE

            6A            18     93  07BC 23100 	BITB	#<<1@V_TBIT>!<1@V_ATBRK>>,(R10)	; CHECK FOR TRACE

                          06     13  07BF 23120 	BEQL	15$			; NO TRACE, SET ANYWAY

         54 AB            50     D1  07C1 23140 	CMPL	R0,SAVPC-B(R11)		; CHECK FOR AT BPT

                          03     13  07C5 23160 	BEQL	20$			; YES, DONT SET IT

                                     07C7 23180 15$:					;

                                     07C7 23200 	.IF	DF,SW_PROCESS		;

                                     07C7 23220 	PUSHR	#^M<R0,R1,R2,R3,R4,R5>	; SAVE REGISTERS FOR PROTECTION CHANGE

                                     07C7 23240 	MOVL	R0,R4			; SET START ADDRESS OF RANGE

                                     07C7 23260 	MOVL	R0,R5			; AND END ADDRESS

                                     07C7 23280 	BSBW	SETWRT			;SET PAGE WRITABLE

                                     07C7 23300 	MOVL	(SP),R0			; RESTORE BPT ADDRESS

                                     07C7 23320 	.ENDC				;

            60            03     90  07C7 23340 	MOVB	#3,(R0)			; SET BREAKPOINT OPCODE

                                     07CA 23360 	.IF	DF,SW_PROCESS		;

                                     07CA 23380 	BSBW	REPROT			; RESTORE ORIGINAL PROTECTION VALUE

                                     07CA 23400 	POPR	#^M<R0,R1,R2,R3,R4,R5>	; AND REGISTERS

                                     07CA 23420 	.ENDC				;

            E1            51     F5  07CA 23440 20$:	SOBGTR	R1,10$			; DO THEM ALL

                                 05  07CD 23460 	RSB				; AND RETURN

                                     07CE 23480 

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  38

                GETBPTX - GET INDEX FOR BREAKPOINT                                                                               (1)



                                     07CE 23520 	.SBTTL	GETBPTX - GET INDEX FOR BREAKPOINT

                                     07CE 23540 ;

                                     07CE 23560 ;	GETBPTX

                                     07CE 23580 ;

                                     07CE 23600 GETBPTX:				;

            53            08     D0  07CE 23620 	MOVL	#NBRK,R3		; INIT LOOP

       F8DC CF43       54 AB     D1  07D1 23640 10$:	CMPL	SAVPC-B(R11),BRKADR[R3]	; IS THIS A BPT?

                          03     13  07D8 23660 	BEQL	20$			; YES

            F4            53     F5  07DA 23680 	SOBGTR	R3,10$			; NO, CONTINUE

                                 05  07DD 23700 20$:	RSB				; RETURN

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  39

                QUOTE - INPUT CHARACTER STRING                                                                                   (1)



                                     07DE 23740 	.SBTTL	QUOTE - INPUT CHARACTER STRING

                                     07DE 23760 ;

                                     07DE 23780 ;	QUOTE - START CHARACTER STRING INPUT

                                     07DE 23800 ;

                                     07DE 23820 QUOTE:					;

            55            6B     D0  07DE 23840 	MOVL	CURDOT-B(R11),R5	; POINT TO STRING BUFFER

                          FBD3   30  07E1 23860 5$:	BSBW	GETCHAR			; GET CHARACTER

            58            27     91  07E4 23880 	CMPB	#QUOT,R8		; CHECK FOR QUOTE

                          05     13  07E7 23900 	BEQL	10$			; YES, END OF STRING

            85            58     90  07E9 23920 	MOVB	R8,(R5)+		; INSERT IN BUFFER

                          F3     11  07EC 23940 	BRB	5$			; AND CONTINUE

            6B            55     D0  07EE 23960 10$:	MOVL	R5,CURDOT-B(R11)	; SAVE NEW DOT

                                 05  07F1 23980 	RSB				; RETURN

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  40

                DEPOSIT                                                                                                          (1)



                                     07F2 24020 	.SBTTL	DEPOSIT

                                     07F2 24040 ;

                                     07F2 24060 ;	DEPOSIT DATA

                                     07F2 24080 ;

                                     07F2 24100 DEPOSIT:				;

            6A            1F     E0  07F2 24120 	BBS	#V_PREG,(R10),40$	; BR IF PROCESSOR REGISTER

                          1D         07F5       

                                     07F6 24140 	.IF	DF,SW_PROCESS		;

                                     07F6 24160 	MOVL	CURDOT-B(R11),R4	; GET CURRENT DOT

                                     07F6 24180 	.ENDC				;

                                     07F6 24200 	CASE	CURTYPE-B(R11),TYPE=B,<-	; SWITCH ON TYPE

                                     07F6 24220 		10$,-			; BYTE

                                     07F6 24240 		20$,-			; WORD

                                     07F6 24260 		30$,-			; LONG

                                     07F6 24280 		>			;

            00         FE AB     8F  07F6       	CASEB	CURTYPE-B(R11),#0,S^#<<30009$-30008$>/2>-1

                          02'        07FA       

                                     07FB       30008$:

                               0006' 07FB       	.WORD	10$-30008$

                               000C' 07FD       	.WORD	20$-30008$

                               0012' 07FF       	.WORD	30$-30008$

                                     0801       30009$:

                                     0801 24300 	.IF	NDF,SW_PROCESS		;

         00 BB         E4 AB     90  0801 24320 10$:	MOVB	F1-B(R11),@CURDOT-B(R11); STORE BYTE

                                 05  0806 24340 	RSB				; RETURN

         00 BB         E4 AB     B0  0807 24360 20$:	MOVW	F1-B(R11),@CURDOT-B(R11); STORE WORD

                                 05  080C 24380 	RSB				; RETURN

         00 BB         E4 AB     D0  080D 24400 30$:	MOVL	F1-B(R11),@CURDOT-B(R11); STORE LONG

                                 05  0812 24420 	RSB				; RETURN

            6B         E4 AB     DA  0813 24440 40$:	MTPR	F1-B(R11),CURDOT-B(R11)	; SET VALUE IN PROCESSOR REGISTER

                                 05  0817 24460 	RSB

                                     0818 24480 	.IFF				; FALSE IF PROCESS VERSION

                                     0818 24500 10$:					; BYTE DEPOSIT

                                     0818 24520 	MOVL	R4,R5			; START AND END ADDRESSES EQUAL

                                     0818 24540 	BSBW	SETWRT			; SET WRITABLE, OLD PROT TO R2

                                     0818 24560 	MOVB	F1-B(R11),(R4)		; STORE BYTE

                                     0818 24580 	BSBW	REPROT			; RESTORE PROTECTION

                                     0818 24600 	RSB				;

                                     0818 24620 

                                     0818 24640 20$:	ADDL3	#1,R4,R5		; WORD DEPOSIT, FORM END ADDRESS

                                     0818 24660 	BSBW	SETWRT			; SET WRITABLE

                                     0818 24680 	MOVW	F1-B(R11),(R4)		; STORE WORD

                                     0818 24700 	BSBW	REPROT			; RESTORE PROTECTION

                                     0818 24720 	RSB				;

                                     0818 24740 

                                     0818 24760 30$:	ADDL3	#3,R4,R5		; LONGWORD DEPOSIT, FORM END ADDRESS

                                     0818 24780 	BSBW	SETWRT			; SET WRITABLE

                                     0818 24800 	MOVL	F1-B(R11),(R4)		; STORE LONG WORD

                                     0818 24820 	BSBW	REPROT			; RESTORE PROTECTION

                                     0818 24840 	RSB				;

                                     0818 24860 

                                     0818 24880 40$:					; PROCESSOR REGISTER

                                     0818 24900 	$CMKRNL_S	B^DEPPREG,(AP)	; DEPOSIT IN PROCESSOR REGISTER

                                     0818 24920 	RSB				;

                                     0818 24940 

                                     0818 24960 DEPPREG:.WORD	0			; DEPOSIT INTO PROCESSOR REGISTER

                                     0818 24980 	MOVAB	W^PREXC,(FP)		; SET EXCEPTION HANDLER

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  41

                DEPOSIT                                                                                                          (1)



                                     0818 25000 	MTPR	F1-B(R11),CURDOT-B(R11)	; PLACE FIELD VALUE IN REG

                                     0818 25020 	MOVL	#1,R0			; RETURN SUCESS

                                     0818 25040 	RET				;

                                     0818 25060 

                                     0818 25080 PREXC:	.WORD	0			; PROCESSOR REGISTER EXCEPTION HANDLER

                                     0818 25100 	ADDL3	#4,8(AP),R1		; POINT TO EXCEPTION FP

                                     0818 25120 	MOVL	(R1),12(FP)		; SET AS RETURN FP

                                     0818 25140 	MOVAB	B^10$,16(FP)		; SET RETURN ADDRESS

                                     0818 25160 10$:	MOVZWL	#1,R0		;SET NORMAL STATUS

                                     0818 25180 	RET				; AND RETURN

                                     0818 25200 

                                     0818 25220 	.ENDC

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  42

                EXECUTE - PERFORM COMMAND STRING                                                                                 (1)



                                     0818 25260 	.SBTTL	EXECUTE - PERFORM COMMAND STRING

                                     0818 25280 ;

                                     0818 25300 ;	EXECUTE

                                     0818 25320 ;

                                     0818 25340 EXECUTE:				;

            6A            08     E1  0818 25360 	BBC	#V_F1,(R10),10$		; EXIT IF NO ADDRESS

                          09         081B       

            59         E4 AB     D0  081C 25380 	MOVL	F1-B(R11),R9		; SET CHAR STRING

                          03     12  0820 25400 	BNEQ	10$			; NOT NULL

                          F97B   31  0822 25420 	BRW	SUPERST			; SUPER RESET

                                 05  0825 25440 10$:	RSB				; RETURN

                                     0826 25460 

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  43

                P - PROCESSOR REGISTER PREFIX                                                                                    (1)



                                     0826 25500 	.SBTTL	P - PROCESSOR REGISTER PREFIX

                                     0826 25520 ;

                                     0826 25540 ;	SET PROCESSOR REGISTER MODE

                                     0826 25560 ;

                                     0826 25580 PREG:					; PROCESSOR REGISTER MODE

            6A            0F     E2  0826 25600 	BBSS	#V_PRMODE,(R10),10$	; SET PROCESSOR REG FLAG

                          00         0829       

                                 05  082A 25620 10$:	RSB				; RETURN

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  44

                PROCESS DEBUGGER INITIALIZATION                                                                                  (1)



                                     082B 25660 	.SBTTL	PROCESS DEBUGGER INITIALIZATION

                                     082B 25680 

                                     082B 25700 	.IF	DF,SW_PROCESS		;

                                     082B 25720 TEST:					;

                                     082B 25740 XDT$START::				; GLOBAL START ADDRESS FOR CLI DEBUG

                                     082B 25760 	.WORD	0			; ENTRY MASK

                                     082B 25780 	MOVAB	W^CATCHALL,(FP)		; SET CATCHALL EXCEPTION HANDLER

                                     082B 25800 	$DCLEXH_S	EXITBLK		; DECLARE USER MODE EXIT HANDLER

                                     082B 25820 	$CMKRNL_S	B^SETEXC,(AP)	; SET EXCEPTION VECTORS

                                     082B 25840 	$SETEXV_S	ADDRES=W^EXCEPT,-	;

                                     082B 25860 			ACMODE=#3,-	;

                                     082B 25880 			VECTOR=#0	; SET PRIMARY FOR USER

                                     082B 25900 	$SETEXV_S	ADDRES=W^CATCHALL,-	; SET LAST CHANCE HANDLER

                                     082B 25920 			ACMODE=#3,-	; FOR USER MODE

                                     082B 25940 			VECTOR=#2	; SPECIFY LAST CHANCE HANDLER

                                     082B 25960 	$ASSIGN_S	TTNAMD,TTCHAN	; ASSIGN DEVICE

                                     082B 25980 INI$BRK:				;

                                     082B 26000 	BPT				; INITIAL BREAK POINT

                                     082B 26020 	ADDL	#4,4(AP)		; ADVANCE STARTING ADDRESS POINTER

                                     082B 26040 	MOVL	@4(AP),R0		; FETCH CURRENT STARTING ADDRESS

                                     082B 26060 	CALLG	(AP),(R0)		; CALL TARGET PROGRAM

                                     082B 26080 	$EXIT_S	R0			; EXIT

                                     082B 26100 

                                     082B 26120 

                                     082B 26140 SETEXC:	.WORD	0			; ENTRY MASK

                                     082B 26160 	$SETEXV_S	ADDRES=B^EXCEPT,-	;

                                     082B 26180 			PRVHND=KCOND,-	;

                                     082B 26200 			ACMODE=#0	; SET KERNEL

                                     082B 26220 	$SETEXV_S	ADDRES=W^CATCHALL,-	;

                                     082B 26240 			ACMODE=#0,-	; SET KERNEL MODE LAST CHANCE HANDLER

                                     082B 26260 			VECTOR=#2	; SPECIFY LAST CHANCE VECTOR

                                     082B 26280 ;----------------------------------------------------------------------------

                                     082B 26300 	$SETEXV_S	ADDRES=B^EXCEPT,-	;

                                     082B 26320 			PRVHND=ECOND,-	;

                                     082B 26340 			ACMODE=#1	; SET EXEC MODE EXCEPTION HANDLER

                                     082B 26360 	$SETEXV_S	ADDRES=W^CATCHALL,-	;

                                     082B 26380 			ACMODE=#1,-	; SET EXEC MODE LAST CHANCE HANDLER

                                     082B 26400 			VECTOR=#2	; SPECIFY LAST CHANCE VECTOR

                                     082B 26420 ;----------------------------------------------------------------------------

                                     082B 26440 	$SETEXV_S	ADDRES=B^EXCEPT,-	;

                                     082B 26460 			PRVHND=SCOND,-	;

                                     082B 26480 			ACMODE=#2	; SET SUPERVISOR MODE EXCEPTION HANDLER

                                     082B 26500 	$SETEXV_S	ADDRES=W^CATCHALL,-	;

                                     082B 26520 			ACMODE=#2,-	; SET SUPERVISOR LAST CHANCE HANDLER

                                     082B 26540 			VECTOR=#2	; SPECIFY LAST CHANCE VECTOR

                                     082B 26560 	RET				;

                                     082B 26580 

                                     082B 26600 EXCEPT:	.WORD	0			; EXCEPTION HANDLER ENTRY MASK

                                     082B 26620 	$SETEXV_S	ADDRES=B^EXCEPT,-	;

                                     082B 26640 			ACMODE=#3,-	;

                                     082B 26660 			VECTOR=#0	; RE-ESTABLISH USER PRIMARY VECTOR

                                     082B 26680 	ADDL3	#4,4(AP),R0		; GET POINTER TO SIGNAL

                                     082B 26700 	MOVPSL	R1			; GET CURRENT PSL

                                     082B 26720 	EXTZV	#PSL$V_CURMOD,#PSL$S_CURMOD,R1,R1	;

                                     082B 26740 	BBSS	R1,DBGACTIVE,40$	; BR IF ALREADY ACTIVE

                                     082B 26760 	CMPL	#SS$_TBIT,(R0)		; IS IT TBIT?

                                     082B 26780 	BNEQ	10$			; NO,

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  45

                PROCESS DEBUGGER INITIALIZATION                                                                                  (1)



                                     082B 26800 	BRW	XDELTBIT		; YES, A TBIT

                                     082B 26820 10$:	CMPL	#SS$_BREAK,(R0)		; IS IT BREAKPOINT?

                                     082B 26840 	BNEQ	20$			; NO,

                                     082B 26860 	BRW	XDELBPT			; YES, A BREAKPOINT

                                     082B 26880 20$:					; SOME OTHER EXCEPTION

                                     082B 26900 	CMPL	#SS$_UNWINDING,(R0)	; IS IT UNWINDING

                                     082B 26920 	BNEQ	30$			; NO,

                                     082B 26940 	MOVL	#1,R0			; YES, IGNORE

                                     082B 26960 	RET				; RESIGNAL

                                     082B 26980 30$:					;

                                     082B 27000 	CMPL	#SS$_DEBUG,(R0)		; IS IT DEBUG EXCEPTION?

                                     082B 27020 	BNEQ	40$			; NO,

                                     082B 27040 	BSBW	SAVE			; SAVE EVERYTHING

                                     082B 27060 	BRW	XDELDBG			; AND TREAT AS FUNNY BPT

                                     082B 27080 40$:					; UNEXPECTED EXCEPTION

                                     082B 27100 	BBCC	R1,DBGACTIVE,50$	; CLEAR DEBUG ACTIVE

                                     082B 27120 50$:	CLRL	R0			; RETURN FALSE FOR RESIGNAL

                                     082B 27140 	RET				;

                                     082B 27160 	.PAGE

                                     082B 27180 	.SBTTL	HANDLER FOR DEBUG EXCEPTIONS

                                     082B 27200 

                                     082B 27220 DBGEXCEP:				;

                                     082B 27240 	.WORD	0			;

                                     082B 27260 	ADDL3	#4,8(AP),R1		; POINT TO EXCEPTION FP

                                     082B 27280 	MOVL	FP,R0			; INIT LINK FOR CALL FRAMES

                                     082B 27300 10$:	CMPL	12(R0),(R1)		; IS THIS THE LAST ONE?

                                     082B 27320 	BEQL	20$			; YES

                                     082B 27340 	MOVAB	B^30$,16(R0)		; SET FOR RETURN

                                     082B 27360 	MOVL	12(R0),R0		;

                                     082B 27380 	BRB	10$			; CONTINUE

                                     082B 27400 20$:	MOVAB	XDELACV,16(R0)		; SET RETURN FOR ERROR

                                     082B 27420 30$:	RET				;

                                     082B 27440 

                                     082B 27460 CATCHALL:				; CATCHALL EXCEPTION HANDLER

                                     082B 27480 	.WORD	0			; ENTRY MASK

                                     082B 27500 	MOVPSL	R1			; GET CURMOD

                                     082B 27520 	EXTZV	#PSL$V_CURMOD,#PSL$S_CURMOD,R1,R1	; ISOLATE CURRENT MODE

                                     082B 27540 	BBCS	R1,DBGACTIVE,10$	; MUST NOT BE DEBUGGER EXCEPTION

                                     082B 27560 	CLRL	R0			; RESIGNAL

                                     082B 27580 	RET				;

                                     082B 27600 10$:	BSBW	SAVE			; SAVE EVERYTHING

                                     082B 27620 	ADDL3	#4,4(AP),R0		; POINT TO EXCEPTION CODE

                                     082B 27640 	MOVL	(R0),R3			; GET IT

                                     082B 27660 	BSBW	CRLF			; OUTPUT CR/LF

                                     082B 27680 	BSBW	OUTLONG			; OUTPUT EXCEPTION CODE

                                     082B 27700 	MOVAB	B^EXCMSG,R4		; OUTPUT MESSAGE

                                     082B 27720 	BSBW	OUTZSTRING		; TEXT FOR EXCEPTION

                                     082B 27740 	BRW	XDELDBG			; AND DISPLAY INSTRUCTION

                                     082B 27760 EXCMSG:	.ASCIZ	/ EXCEPTION /		;

                                     082B 27780 

                                     082B 27800 EXIHANDLE:				; EXIT HANDLER

                                     082B 27820 	.WORD	0			; ENTRY MASK

                                     082B 27840 	BITB	#15,DBGACTIVE		; TEST FOR DEBUG ACTIVE IN ANY MODE

                                     082B 27860 	BEQL	10$			; NO, REPORT EXIT

                                     082B 27880 	$CMKRNL_S	CLREXV,(AP)	; RESET EXCEPTION VECTORS

                                     082B 27900 	MOVL	@4(AP),R0		; RESTORE

                                     082B 27920 	RET				; RETURN

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  46

                PROCESS DEBUGGER INITIALIZATION                                                                                  (1)



                                     082B 27940 10$:					; PROGRAM EXIT

                                     082B 27960 	MOVPSL	-(SP)			; BUILD EXCEPTION FRAME

                                     082B 27980 	PUSHL	16(FP)			;

                                     082B 28000 	PUSHL	@4(AP)			; EXIT CODE FOR EXCEPTION CODE

                                     082B 28020 	PUSHL	#3			; ARG COUNT

                                     082B 28040 	PUSHR	#^M<R0,R1>		;

                                     082B 28060 	MOVQ	AP,-(SP)		;

                                     082B 28080 	PUSHL	#4			; MECHANISM COUNT

                                     082B 28100 	PUSHL	SP			; POINTER TO MECHANISM

                                     082B 28120 	PUSHAL	24(SP)			; POINTER TO SIGNAL

                                     082B 28140 	PUSHL	#2			;

                                     082B 28160 	MOVL	SP,AP			; SET AP FOR EXCEPTION

                                     082B 28180 	BSBW	SAVE			; SAVE EVERYTHING

                                     082B 28200 	MOVAB	B^EXIMSG,R4		; DISPLAY EXIT MESSAGE

                                     082B 28220 	BSBW	OUTZSTRING		; OUTPUT TEXT

                                     082B 28240 	MOVL	SAVAP-B(R11),R3		; GET POINTER TO EXCEPTION ARGLIST

                                     082B 28260 	MOVL	4(R3),R3		; GET EXIT CODE ADDRESS

                                     082B 28280 	BSBW	OUTLONG			; DISPLAY IT

                                     082B 28300 	$DCLEXH_S	EXITBLK		; RE-ESTABLISH EXIT HANDLER

                                     082B 28320 	MOVPSL	R1			; GET CURRENT PSL

                                     082B 28340 	EXTZV	#PSL$V_CURMOD,#PSL$S_CURMOD,R1,R1 ; GET CURRENT MODE

                                     082B 28360 	BBSS	R1,DBGACTIVE,20$	; SET DELTA ACTIVE FOR MODE

                                     082B 28380 20$:	BRW	XDELDBG			;

                                     082B 28400 

                                     082B 28420 EXIMSG:	.ASCIZ	<CR><LF>/ EXIT /	;

                                     082B 28440 

                                     082B 28460 CLREXV:					; CLR EXCEPTION VECTORS

                                     082B 28480 	.WORD	0			; ENTRY MASK

                                     082B 28500 	$SETEXV_S	ADDRES=@KCOND,-	;

                                     082B 28520 			ACMODE=#0	;

                                     082B 28540 	$SETEXV_S	ADDRES=@ECOND,-	;

                                     082B 28560 			ACMODE=#1	;

                                     082B 28580 	$SETEXV_S	ADDRES=@SCOND,-	;

                                     082B 28600 			ACMODE=#2	;

                                     082B 28620 	RET				;

                                     082B 28640 

                                     082B 28660 	.PAGE

                                     082B 28680 	.SBTTL	SETWRT - SET PAGES WRITABLE

                                     082B 28700 

                                     082B 28720 SETWRT:					;

                                     082B 28740 	MOVAL	-(SP),R2		; ADDRESS FOR RETURN OF PROT

                                     082B 28760 	$CMKRNL_S	B^SETPRTK,(R2)	;

                                     082B 28780 	BLBS	R0,10$			; CONTINUE IF NO ERROR

                                     082B 28800 	CALLG	(R2),B^SETPRTK		;

                                     082B 28820 10$:	POPR	#^M<R2>			; RESTORE PROTECTION VALUE

                                     082B 28840 	RSB				; RETURN

                                     082B 28860 

                                     082B 28880 SETPRTK:.WORD	0			;

                                     082B 28900 	MOVQ	R5,-(SP)		; INADR, START AND END ADDRESSES

                                     082B 28920 	MOVL	SP,R1			; ADDRESS OF INADR

                                     082B 28940 	$SETPRT_S	INADR=(R1),-	;

                                     082B 28960 			PROT=#PRT$C_UW,-; WRITABLE BY ALL

                                     082B 28980 			ACMODE=#0,-	;

                                     082B 29000 			PRVPRT=(AP)	; ADDRESS AT WHICH TO RETURN PROT

                                     082B 29020 	MOVL	#1,R0			; ALWAYS SUCCESS

                                     082B 29040 	RET				;

                                     082B 29060 

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  47

                PROCESS DEBUGGER INITIALIZATION                                                                                  (1)



                                     082B 29080 REPROT:					; RESTORE PROTECTION

                                     082B 29100 	RSB				; 

                                     082B 29120 	.ENDC				;

                                     082B   100 ;

                                     082B   200 ;	NORMAL END STATEMENT WITHOUT START ADDRESS

                                     082B   300 ;	USED TO ASSEMBLE XDELTA FOR EXEC DEBUGGING.

                                     082B   400 ;

                                     082B   500 	.END

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  48

SYMBOL TABLE                                                                                                                     (1)



ADD              00000243 R     03   GO               0000056E R     03   PR$_ACCR       = 00000029            

ASTEN            000000B4 R     03   HIGH             00000209 R     03   PR$_ACCS       = 00000028            

B                00000054 R     03   INBUF            00000004 R     03   PR$_ASTLVL     = 00000013            

BIT...         = 00000000            INFLD            000001FF R     03   PR$_ESP        = 00000001            

BLANK            0000042A R     03   INI$BRK          ********   X   03   PR$_ICCS       = 00000018            

BMSG             000006F1 R     03   INI$RDONLY       ********   X   03   PR$_ICR        = 0000001A            

BRKADR         = 000000B4 R     03   INI$WRITABLE     ********   X   03   PR$_IPL        = 00000012            

BRKCOM         = 000000FC R     03   LBRACKET         000004AB R     03   PR$_ISP        = 00000004            

BRKDSP         = 000000DC R     03   LF             = 0000000A            PR$_KSP        = 00000000            

BRKOP          = 000000D7 R     03   LINEFEED         000002EB R     03   PR$_MAPEN      = 00000038            

BRKPOINT         000004D0 R     03   LOCOUT           000002F2 R     03   PR$_NICR       = 00000019            

BSLSH          = 0000005C            LOCP             0000045E R     03   PR$_P0BR       = 00000008            

CA$_MEASURE    = 00000002            LOCPROMPT        000002F0 R     03   PR$_P0LR       = 00000009            

CA$_MEASURE_IOT= 00000004            MASK             0000004C R     03   PR$_P1BR       = 0000000A            

CA$_SIMULATOR  = 00000001            MASKS            00000578 R     03   PR$_P1LR       = 0000000B            

COMMA            00000294 R     03   MCHK             000005E0 R     03   PR$_PCBB       = 00000010            

CONTEXT          00000000 R     03   MCHKSAV          00000160 R     03   PR$_RXCS       = 00000020            

CONTEXTSZ      = 000000B8            MMG$PAGEFAULT    ********   X   03   PR$_RXDB       = 00000021            

CR             = 0000000D            MODES            000004A7 R     03   PR$_SBIER      = 00000034            

CRLF             000003AD R     03   MUL              0000023B R     03   PR$_SBIFS      = 00000030            

CURDOT           00000054 R     03   NBRK           = 00000008            PR$_SBIMT      = 00000033            

CURTYPE          00000052 R     03   NEGATE           00000433 R     03   PR$_SBIQC      = 00000036            

DCOM             00000195 R     03   NEXTDOT          000002D8 R     03   PR$_SBIS       = 00000031            

DEPOSIT          000007F2 R     03   NEXTLOC          000002EE R     03   PR$_SBISC      = 00000032            

DIV              0000023F R     03   NEXTP            000001B0 R     03   PR$_SBITA      = 00000035            

DOT              0000057E R     03   NMODES         = 00000004            PR$_SBR        = 0000000C            

DQUOTE           00000247 R     03   NPRIM          = 00000029            PR$_SCBB       = 00000011            

DTYPE            00000051 R     03   NSEC           = 00000007            PR$_SID        = 0000003E            

ENDEXPR          00000218 R     03   NTERM          = 00000008            PR$_SIRR       = 00000014            

ENDFIELD         00000297 R     03   OPEN             0000024F R     03   PR$_SISR       = 00000015            

EQL1             00000468 R     03   OPER             00000053 R     03   PR$_SLR        = 0000000D            

EQUALS           00000461 R     03   OPERATOR         0000042A R     03   PR$_SSP        = 00000002            

ERR2             000004A4 R     03   OPERBAS        = 00000012            PR$_TBIA       = 00000039            

ERR3             000005E7 R     03   OUTB           = 00000006            PR$_TBIS       = 0000003A            

ERR4             0000027A R     03   OUTBB            000002E8 R     03   PR$_TODR       = 0000001B            

ERROR            00000199 R     03   OUTBSLSH         00000381 R     03   PR$_TXCS       = 00000022            

ESCAP            0000044F R     03   OUTBUF           0000005C R     03   PR$_TXDB       = 00000023            

EXE$ACVIOLAT     ********   X   03   OUTCHAR          0000038A R     03   PR$_USP        = 00000003            

EXE$BREAK        ********   X   03   OUTCOM           0000035D R     03   PR$_WCSA       = 0000002C            

EXE$GL_FLAGS     ********   X   03   OUTCR          = 00000004            PR$_WCSD       = 0000002D            

EXE$MCHKVEC      ********   X   03   OUTDIGIT         00000356 R     03   PRE1             00000210 R     03   

EXE$ROPRAND      ********   X   03   OUTER            0000018D R     03   PREG             00000826 R     03   

EXE$TBIT         ********   X   03   OUTLONG          0000035A R     03   PRIMARY          00000164 R     03   

EXE$V_SIMULATOR  ********   X   03   OUTPUT           000002F7 R     03   PROCED           00000577 R     03   

EXECUTE          00000818 R     03   OUTPUTA          0000031D R     03   PROCEED          00000758 R     03   

F1               00000038 R     03   OUTR8            00000387 R     03   PROGCTR          00000591 R     03   

F2               0000003C R     03   OUTSPACE         000003A8 R     03   PRT$C_ER       = 00000007            

F3               00000040 R     03   OUTZBUF          00000373 R     03   PRT$C_ERKW     = 00000006            

F4               00000044 R     03   OUTZSTRING       00000377 R     03   PRT$C_EW       = 00000005            

F5               00000048 R     03   PFN$AB_STATE     ********   X   03   PRT$C_KR       = 00000003            

FCTR             00000050 R     03   PFN$AB_TYPE      ********   X   03   PRT$C_KW       = 00000002            

FETCH            000002B2 R     03   PFN$AL_BAK       ********   X   03   PRT$C_NA       = 00000000            

GBL...         = 00000000            PFN$AL_PTE       ********   X   03   PRT$C_RESERVED = 00000001            

GETBPTX          000007CE R     03   PFN$AW_BLINK     ********   X   03   PRT$C_SR       = 0000000B            

GETCHAR          000003B7 R     03   PFN$AW_FLINK     ********   X   03   PRT$C_SREW     = 00000009            

GETCMD           00000753 R     03   PFN$AW_REFCNT    ********   X   03   PRT$C_SRKW     = 0000000A            

GLOBL            00000203 R     03   PFN$AW_SWPVBN    ********   X   03   PRT$C_SW       = 00000008            

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  49

SYMBOL TABLE                                                                                                                     (1)



PRT$C_UR       = 0000000F            SAVRXCS          000000B4 R     03   SS$_DRVERR     = 0000008C            

PRT$C_UREW     = 0000000D            SAVSP            000000A4 R     03   SS$_DUPFILENAME= 00000868            

PRT$C_URKW     = 0000000E            SCANP            000001AC R     03   SS$_DUPLNAM    = 00000094            

PRT$C_URSW     = 0000000C            SECOND           0000047D R     03   SS$_ENDOFFILE  = 00000870            

PRT$C_UW       = 00000004            SEMI             00000484 R     03   SS$_ENDOFTAPE  = 00000878            

PSL$C_EXEC     = 00000001            SETBRK           000007AB R     03   SS$_ENDOFUSRLBL= 00000970            

PSL$C_KERNEL   = 00000000            SHFT             00000236 R     03   SS$_EXQUOTA    = 0000001C            

PSL$C_SUPER    = 00000002            SHOBRK           0000052C R     03   SS$_EXTIDXFILE = 00000880            

PSL$C_USER     = 00000003            SLASH            0000024C R     03   SS$_FCPREADERR = 00000888            

PSL$M_CM       = 80000000            SLSH           = 0000002F            SS$_FCPREPSTN  = 00000988            

PSL$M_CURMOD   = 03000000            SS$_ABORT      = 0000002C            SS$_FCPREWNDERR= 00000890            

PSL$M_DV       = 00000080            SS$_ACCONFLICT = 00000800            SS$_FCPSPACERR = 00000898            

PSL$M_FPD      = 08000000            SS$_ACCVIO     = 0000000C            SS$_FCPWRITERR = 000008A0            

PSL$M_FU       = 00000040            SS$_ARITH      = 00000404            SS$_FILACCERR  = 0000009C            

PSL$M_IPL      = 001F0000            SS$_ASTFLT     = 0000040C            SS$_FILALRACC  = 000000A4            

PSL$M_IS       = 04000000            SS$_BADATTRIB  = 00000034            SS$_FILELOCKED = 000008A8            

PSL$M_IV       = 00000020            SS$_BADCHKSUM  = 00000808            SS$_FILENUMCHK = 000008B0            

PSL$M_PRVMOD   = 00C00000            SS$_BADESCAPE  = 0000003C            SS$_FILESEQCHK = 000008B8            

PSL$M_SAFBITS  = 000037FF            SS$_BADFILEHDR = 00000810            SS$_FILESTRUCT = 000008C0            

PSL$M_TBIT     = 00000010            SS$_BADFILENAME= 00000818            SS$_FILNOTACC  = 000000AC            

PSL$M_TP       = 40000000            SS$_BADFILEVER = 00000820            SS$_FILNOTCNTG = 000002AC            

PSL$S_CURMOD   = 00000002            SS$_BADIMGHDR  = 00000044            SS$_FILNOTEXP  = 000000B4            

PSL$S_IPL      = 00000005            SS$_BADIRECTORY= 00000828            SS$_FORMAT     = 000000BC            

PSL$S_PRVMOD   = 00000002            SS$_BADPARAM   = 00000014            SS$_GPTFULL    = 000000C4            

PSL$V_CM       = 0000001F            SS$_BADSTACK   = 000002B4            SS$_GSDFULL    = 000000CC            

PSL$V_CURMOD   = 00000018            SS$_BEGOFFILE  = 00000938            SS$_GSDNOTXXX  = 000000D4            

PSL$V_DV       = 00000007            SS$_BLOCKCNTERR= 00000940            SS$_HANGUP     = 000002CC            

PSL$V_FPD      = 0000001B            SS$_BREAK      = 00000414            SS$_HEADERFULL = 000008C8            

PSL$V_FU       = 00000006            SS$_BUFFEROVF  = 00000601            SS$_IDXFILEFULL= 000008D0            

PSL$V_IPL      = 00000010            SS$_BUGCHECK   = 000002A4            SS$_ILLBLKNUM  = 000000DC            

PSL$V_IS       = 0000001A            SS$_CANCEL     = 00000830            SS$_ILLCNTRFUNC= 000000E4            

PSL$V_IV       = 00000005            SS$_CHANINTLK  = 0000004C            SS$_ILLEFC     = 000000EC            

PSL$V_PRVMOD   = 00000016            SS$_CLIFRCEXT  = 00000980            SS$_ILLIOFUNC  = 000000F4            

PSL$V_TBIT     = 00000004            SS$_CMODSUPR   = 0000041C            SS$_ILLLBLAST  = 00000968            

PSL$V_TP       = 0000001E            SS$_CMODUSER   = 00000424            SS$_ILLPAGCNT  = 000000FC            

QUAN             00000058 R     03   SS$_COMPAT     = 0000042C            SS$_ILLSEQOP   = 000002DC            

QUANT            0000058B R     03   SS$_CONTINUE   = 00000001            SS$_ILLSER     = 00000104            

QUOT           = 00000027            SS$_CONTROLC   = 00000651            SS$_ILLUSRLBLRD= 00000958            

QUOTE            000007DE R     03   SS$_CONTROLO   = 00000609            SS$_ILLUSRLBLWT= 00000960            

RDBUF          = 00000002            SS$_CONTROLY   = 00000611            SS$_INCVOLLABEL= 0000010C            

RDCR           = 00000000            SS$_CREATED    = 00000619            SS$_INSFARG    = 00000114            

REGCOM           000005AB R     03   SS$_CTRLERR    = 00000054            SS$_INSFMEM    = 00000124            

REGISTER         000005A3 R     03   SS$_DATACHECK  = 0000005C            SS$_INSFRAME   = 0000012C            

RESET            00000470 R     03   SS$_DATAOVERUN = 00000838            SS$_INSFWSL    = 0000011C            

RESTORE          0000068E R     03   SS$_DEBUG      = 0000046C            SS$_IVADDR     = 00000134            

RESTORR          00000693 R     03   SS$_DEVACTIVE  = 000002C4            SS$_IVCHAN     = 0000013C            

RETURN           0000027D R     03   SS$_DEVALLOC   = 00000840            SS$_IVCHNLSEC  = 0000026C            

RSET             0000028A R     03   SS$_DEVALRALLOC= 00000641            SS$_IVDEVNAM   = 00000144            

RUBOUT         = 0000007F            SS$_DEVASSIGN  = 00000848            SS$_IVGSDNAM   = 0000014C            

SAVAP            0000009C R     03   SS$_DEVFOREIGN = 00000064            SS$_IVLOGNAM   = 00000154            

SAVE             000005EA R     03   SS$_DEVICEFULL = 00000850            SS$_IVLOGTAB   = 0000015C            

SAVOCR           000000B0 R     03   SS$_DEVMOUNT   = 0000006C            SS$_IVPROTECT  = 000002F4            

SAVPC            000000A8 R     03   SS$_DEVNOTALLOC= 00000858            SS$_IVQUOTAL   = 00000164            

SAVPSL           000000AC R     03   SS$_DEVNOTMBX  = 00000074            SS$_IVSECFLG   = 0000016C            

SAVR2            00000074 R     03   SS$_DEVNOTMOUNT= 0000007C            SS$_IVSECIDCTL = 000002E4            

SAVRCR           000000B2 R     03   SS$_DEVOFFLINE = 00000084            SS$_IVSSRQ     = 00000174            

SAVREG           0000006C R     03   SS$_DIRFULL    = 00000860            SS$_IVSTSFLG   = 0000017C            

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  50

SYMBOL TABLE                                                                                                                     (1)



SS$_IVTIME     = 00000184            SS$_TOOMUCHDATA= 0000029C            

SS$_LENVIO     = 0000018C            SS$_UNASEFC    = 00000234            

SS$_LKWSETFUL  = 00000194            SS$_UNSAFE     = 0000023C            

SS$_MBFULL     = 000008D8            SS$_UNWIND     = 00000920            

SS$_MBTOOSML   = 0000019C            SS$_UNWINDING  = 00000928            

SS$_MCHECK     = 000002BC            SS$_VASFULL    = 00000244            

SS$_MEDOFL     = 000001A4            SS$_VECINUSE   = 0000024C            

SS$_MSGNOTFND  = 00000621            SS$_VOLINV     = 00000254            

SS$_MUSTCLOSEFL= 00000948            SS$_WAITUSRLBL = 00000950            

SS$_NODATA     = 000001AC            SS$_WASCLR     = 00000001            

SS$_NOHANDLER  = 000008F8            SS$_WASECC     = 00000639            

SS$_NOHOMEBLK  = 000008E0            SS$_WASSET     = 00000009            

SS$_NOIOCHAN   = 000001B4            SS$_WRITLCK    = 0000025C            

SS$_NOLINKS    = 0000027C            STATUS           00000034 R     03   

SS$_NOLOGNAM   = 000001BC            STEP             000004C6 R     03   

SS$_NOMBX      = 00000274            SUPERST          000001A0 R     03   

SS$_NOMOREFILES= 00000930            SYS$IOBASE       ********   X   03   

SS$_NONEXDRV   = 000001C4            TAB              0000043F R     03   

SS$_NONEXPR    = 000008E8            TERM             0000017D R     03   

SS$_NONLOCAL   = 000008F0            UNBRK            00000796 R     03   

SS$_NOPRIV     = 00000024            VALI             000005A0 R     03   

SS$_NORMAL     = 00000001            VALR             0000059D R     03   

SS$_NOSIGNAL   = 00000900            VALUE            00000595 R     03   

SS$_NOSOLICIT  = 00000284            V_ASCII        = 00000001            

SS$_NOSUCHDEV  = 00000908            V_ATBRK        = 00000004            

SS$_NOSUCHFILE = 00000910            V_F1           = 00000008            

SS$_NOSUCHNODE = 0000028C            V_F2           = 00000009            

SS$_NOSUCHSEC  = 00000978            V_F3           = 0000000A            

SS$_NOTAPEOP   = 00000264            V_F4           = 0000000B            

SS$_NOTFILEDEV = 000001CC            V_F5           = 0000000C            

SS$_NOTINTBLSZ = 000001D4            V_INFIELD      = 00000002            

SS$_NOTLABELMT = 000001DC            V_NEGATE       = 00000007            

SS$_NOTNETDEV  = 000002EC            V_OPEN         = 00000000            

SS$_NOTRAN     = 00000629            V_PREG         = 0000001F            

SS$_NOTSQDEV   = 000001E4            V_PRMODE       = 0000000F            

SS$_OPCCUS     = 00000434            V_RUB          = 00000006            

SS$_OPCDEC     = 0000043C            V_TBIT         = 00000003            

SS$_OPINCOMPL  = 000002D4            V_TBITOK       = 00000005            

SS$_PAGOWNVIO  = 000001EC            XDELACV          000005E0 R     03   

SS$_PAGRDERR   = 00000444            XDELBPT          000006FC RG    03   

SS$_PARITY     = 000001F4            XDELDBG          00000783 R     03   

SS$_PARTESCAPE = 000001FC            XDELTBIT         0000076C RG    03   

SS$_PFMBSY     = 00000204            XDS$INIT         ********   X   03   

SS$_PSTFULL    = 0000020C            XREG             000005D1 R     03   

SS$_RADRMOD    = 0000044C            XREGV            00000120 R     03   

SS$_REJECT     = 00000294            XSET             000005BF R     03   

SS$_REMOTE     = 00000649            

SS$_RESIGNAL   = 00000918            

SS$_RESULTOVF  = 00000214            

SS$_ROPRAND    = 00000454            

SS$_SECTBLFUL  = 0000021C            

SS$_SSFAIL     = 0000045C            

SS$_SUPERSEDE  = 00000631            

SS$_TAPEPOSLOST= 00000224            

SS$_TBIT       = 00000464            

SS$_TIMEOUT    = 0000022C            

SS$_TOOMANYVER = 00000990            

XDELTA          - EXECUTIVE DEBUGGER                             22-AUG-1978 00:05:14   VAX-11 MACRO X0.3-11               Page  51

PROGRAM SECTION SYNOPSIS                                                                                                         (1)







PROGRAM SECTION SYNOPSIS



.  ABS  .        00000000      00     NOPIC   USR   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT BYTE  

. BLANK .        00000000      01     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

$ABS$            00000000      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

$$$030NP         0000082B      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT LONG  





THERE WERE NO ERRORS OR WARNINGS.

16546. BYTES LEFT IN FREE MEMORY POOL.

16. BYTES OF RECLAIMED MEMORY.

OBJ$:XDELTA,LIS$:XDELTA/-SP=LIB$:LIB/ML,SRC$:XDELTA,END

3 MLB DIR RDS - 435 GETS TO DEFINE 16 MACROS. 92 INTER. FILE WRITES. 

