XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)    7240  PRIMARY COMMAND CHARACTER SWITCH

   (1)    8760  PRIMARY COMMAND SCANNER

   (1)   11600  ENDEXPR	- END EXPRESSION

   (1)   12760  SLASH - OPEN CELL

   (1)   14000  RETURN - CLOSE CURRENT OPEN CELL

   (1)   14680  ENDFIELD - TERMINATE CURRENT FIELD

   (1)   15520  FETCH - OBTAIN DATA SPECIFIED

   (1)   16960  NEXTDOT - INCREMENT CURRENT LOCATION

   (1)   17520  OUTPUT - DISPLAY CONTENT

   (1)   17760  LINE FEED - DISPLAY NEXT

   (1)   18840  OUTPUTA - OUTPUT ADDRESS

   (1)   22320  GETCHAR - GET INPUT CHARACTER ROUTINE

   (1)   25160  PLUS/MINUS OPERATORS

   (1)   25960  TAB - INDIRECT DISPLAY

   (1)   26800  EQUALS - DISPLAY VALUE

   (1)   27680  SEMI - SECONDARY COMMAND SET

   (1)   28920  LEFT BRACKET - MODE SELECTION

   (1)   29880  SINGLE STEP

   (1)   30200  BRKPOINT - SET/CLEAR BREAKPOINTS

   (1)   32760  GO - START EXECUTION AT SPECIFIED LOCATION

   (1)   33280  SEMI-I, PC VALUE

   (1)   35600  REGISTER SAVE AND RESTORE

   (1)   41040  BPT TRAP HANDLER

   (1)   43840  TBIT EXCEPTION HANDLER

   (1)   45160  UNBRK - RESTORE OPCODES FOR BREAKPOINTS

   (1)   46120  SETBRK - SET BREAK POINT INSTRUCTIONS

   (1)   47280  GETBPTX - GET INDEX FOR BREAKPOINT

   (1)   47720  QUOTE - INPUT CHARACTER STRING

   (1)   48280  DEPOSIT

   (1)   50760  EXECUTE - PERFORM COMMAND STRING

   (1)   51240  P - PROCESSOR REGISTER PREFIX

   (1)   51560  PROCESS DEBUGGER INITIALIZATION

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page   1

                                                                                                                                 (1)



                                     0000    40 	.IF	DF,SW_PROCESS		;

                                     0000    80 	.TITLE	DELTA - MULTIMODE PROCESS DEBUGGER

                                     0000   120 	.IFF				;

                                     0000   160 	.TITLE	XDELTA - EXECUTIVE DEBUGGER

                                     0000   200 	.ENDC				;

                                     0000   240 	.LIST	MEB			;

                                     0000   280 ;

                                     0000   320 ;	DEFINITIONS

                                     0000   360 ;

                                     0000   400 	$CADEF				; DEFINE ASSEMBLY SWITCHES

                                     0000       	.SAVE

                                 00000000       	.PSECT	$ABS$,ABS

                                     0000       	.RESTORE

                                     0000   440 	$PRDEF				; DEFINE PROCESSOR REGISTERS

                                     0000       	.SAVE

                                 00000000       	.PSECT	$ABS$,ABS

                                     0000       	.RESTORE

                                     0000   480 	$PRTDEF				; DEFINE PROTECTION VALUES

                                     0000       	.SAVE

                                 00000000       	.PSECT	$ABS$,ABS

                                     0000       	.RESTORE

                                     0000   520 	$PSLDEF				; DEFINE PSL FIELDS

                                     0000       	.SAVE

                                 00000000       	.PSECT	$ABS$,ABS

                                     0000       	.RESTORE

                                     0000   560 	$SSDEF				; DEFINE SYSTEM SERVICE STATUS CODES

                                     0000       	.SAVE

                                 00000000       	.PSECT	$ABS$,ABS

                                     0000       	.RESTORE

                                     0000   600 

                                     0000   640 ;

                                     0000   680 ; EQUATES:

                                     0000   720 ;

                           00000008  0000   760 V_F1=8					; FIELD 1 PRESENT FLAG

                           00000009  0000   800 V_F2=9					; FIELD 2 PRESENT FLAG

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

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

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

                                     0000   960 

                           00000000  0000  1000 V_OPEN=0				; OPEN CELL FLAG

                           00000001  0000  1040 V_ASCII=1				; ASCII

                           00000002  0000  1080 V_INFIELD=2				; FIELD IN PROGRESS

                           00000003  0000  1120 V_TBIT=3				; ENABLE TBIT

                           00000004  0000  1160 V_ATBRK=4				; AT BREAKPOINT

                           00000005  0000  1200 V_TBITOK=5				; TBIT EXPECTED

                           00000006  0000  1240 V_RUB=6					; RUBOUT IN PROGRESS

                           00000007  0000  1280 V_NEGATE=7				; NEGATE BIT

                           0000000F  0000  1320 V_PRMODE=15				; PROCESSOR REGISTER MODE

                           0000001F  0000  1360 V_PREG=31				; PROCESSOR REGISTER FLAG

                                     0000  1400 

                           00000000  0000  1440 RDCR=0					; READ CSR

                           00000002  0000  1480 RDBUF=2					; READ BUFFER

                           00000004  0000  1520 OUTCR=4					; OUTPUT CSR

                           00000006  0000  1560 OUTB=6					; OUTPUT BUFFER

                                     0000  1600 

                           0000005C  0000  1640 BSLSH=92				; BACK SLASH CODE

                           0000000D  0000  1680 CR=13					; CARRIAGE RETURN

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page   2

                                                                                                                                 (1)



                           0000000A  0000  1720 LF=10					; LINE FEED

                           00000027  0000  1760 QUOT=39					; QUOTE

                           0000007F  0000  1800 RUBOUT=127				; RUBOUT CODE

                           0000002F  0000  1840 SLSH=47					; SLASH CODE

                                     0000  1880 

                                     0000  1920 

                                     0000  1960 

                                     0000  2000 ;

                                     0000  2040 ;	DATA AREA

                                     0000  2080 ;

                                     0000  2120 	.IF	DF,SW_PROCESS

                                     0000  2160 	.PSECT	_DELTA,LONG

                                     0000  2200 	.IFF

                                 00000000  2240 	.PSECT	Z$DEBUGXDELTA,LONG

                                     0000  2280 	.ENDC

                                     0000  2320 CONTEXT:				;

                           00000000  0000  2360 	.LONG	0			; BUFFER PADDING

                           00000034  0004  2400 INBUF:	.BLKB	48			; INPUT BUFFER

                           00000000  0034  2440 STATUS:	.LONG	0			; STATUS FLAGS

                           00000000  0038  2480 F1:	.LONG	0			; FIELDS

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

                           00000000  0040  2560 F3:	.LONG	0			;

                           00000000  0044  2600 F4:	.LONG	0			;

                           00000000  0048  2640 F5:	.LONG	0			;

                                     004C  2680 

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

                                     0050  2760 

                                 00  0050  2800 FCTR:	.BYTE	0			; FIELD COUNTER

                                     0051  2840 

                                 02  0051  2880 DTYPE:	.BYTE	2			; DATA TYPE

                                 02  0052  2920 CURTYPE:.BYTE	2			; CURRENT TYPE

                                     0053  2960 

                                 00  0053  3000 OPER:	.BYTE	0			; OPERATOR

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

                           00000000  0054  3080 CURDOT:	.LONG	0			; CURRENT LOCATION

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

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

                                     006C  3200 ;

                                     006C  3240 ;	REGISTER SAVE AREA

                                     006C  3280 ;

                                     006C  3320 SAVREG:					; REGISTER SAVE AREA

                           00000070  006C  3360 	.BLKL	1			; R0

                           00000074  0070  3400 	.BLKL	1			; R1

                           00000078  0074  3440 SAVR2:	.BLKL	1			; R2

                           0000007C  0078  3480 	.BLKL	1			; R3

                           00000080  007C  3520 	.BLKL	1			; R4

                           00000084  0080  3560 	.BLKL	1			; R5

                           00000088  0084  3600 	.BLKL	1			; R6

                           0000008C  0088  3640 	.BLKL	1			; R7

                           00000090  008C  3680 	.BLKL	1			; R8

                           00000094  0090  3720 	.BLKL	1			; R9

                           00000098  0094  3760 	.BLKL	1			; R10

                           0000009C  0098  3800 	.BLKL	1			; R11

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

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

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

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

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page   3

                                                                                                                                 (1)



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

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

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

                                     00B4  4120 ASTEN:					; AST ENABLE SAVE LOCATION

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

                                     00B8  4200 

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

                                     00B8  4280 ;

                                     00B8  4320 ;	RESERVE SPACE FOR MULTIPLE MODE CONTEXT AREA

                                     00B8  4360 ;

                                     00B8  4400 	.IF	DF,SW_PROCESS		;

                                     00B8  4440 	.REPT	3			;

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

                                     00B8  4520 SAV...=	.

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

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

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

                                     00B8  4680 	.ENDR				;

                                     00B8  4720 	.ENDC				;

                                     00B8  4760 

                                     00B8  4800 

                                     00B8  4840 ;

                                     00B8  4880 ;	BREAK POINT DATA

                                     00B8  4920 ;

                           000000B4  00B8  4960 BRKADR=.-4	

                                     00B8  4980 	.IF	NDF,SW_PROCESS	;

                                     00B8  5000 XDELIBRK::			;

                                     00B8  5010 	.ENDC			;

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

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

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

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

                                 01  00D8  5160 	NOP				; INITIAL OPCODE

                           000000E0  00D9  5200 	.BLKB	7			; REMAINING OPCODES

                                     00E0  5240 

                                     00E0  5280 

                           000000DC  00E0  5320 BRKDSP=.-4

                           00000100  00E0  5360 	.BLKL	8			; DISPLAY LOCATION START

                           000000FC  0100  5400 BRKCOM=.-4

                           00000120  0100  5440 	.BLKL	8			; COMMAND START

                                     0120  5480 

                           00000130  0120  5520 XREGV:	.BLKL	4			; X REGISTER VECTOR

                                     0130  5560 	.IF	NDF,SW_PROCESS		;

                           00000000' 0130  5600 	.LONG	SCH$GL_CURPCB		; X4 = CURRENT PCB ADDRESS

                           00000000' 0134  5640 	.LONG	SCH$GL_PCBVEC		; X5 = BASE OF PCB VECTOR

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

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

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

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

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

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

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

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

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

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

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

                                     0164  6120 	.IFF				; FOR PROCESS VERSION

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page   4

                                                                                                                                 (1)



                                     0164  6160 	.BLKL	12			;

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

                                     0164  6240 TTCHAN:	.BLKL	1			; CHANNEL NUMBER

                                     0164  6280 TTNAMD:	.LONG	2,TTSTR			;

                                     0164  6320 TTSTR:	.ASCII	/TT/			;

                                     0164  6360 DBGACTIVE:				; ACTIVE FLAGS BY ACCESS MODE

                                     0164  6400 	.LONG	0			;

                                     0164  6440 EXITBLK:				; EXIT HANDLER BLOCK

                                     0164  6480 	.LONG	0			;

                                     0164  6520 	.LONG	EXIHANDLE		; EXIT HANDLER

                                     0164  6560 	.LONG	1			; ARGUMENT COUNT

                                     0164  6600 	.LONG	EXITCODE		; ADDRESS TO STORE EXIT CODE

                                     0164  6640 EXITCODE:				;

                                     0164  6680 	.LONG	1			; RECEIVER FOR EXIT CODE

                                     0164  6720 KCOND:	.LONG	0			; PREVIOUS KERNEL HANDLER

                                     0164  6760 ECOND:	.LONG	0			; PREVIOUS EXEC HANDLER

                                     0164  6800 SCOND:	.LONG	0			; PREVIOUS SUPER HANDLER

                                     0164  6840 TERMASKD:				; TERMINATOR MASK DESCRIPTOR

                                     0164  6880 	.LONG	16			; MASK LENGTH

                                     0164  6920 	.LONG	TERMASK			; MASK ADDRESS

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

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

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

                                     0164  7080 	.LONG	0			;

                                     0164  7120 

                                     0164  7160 	.ENDC				;

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page   5

                PRIMARY COMMAND CHARACTER SWITCH                                                                                 (1)



                                     0164  7240 	.SBTTL	PRIMARY COMMAND CHARACTER SWITCH

                                     0164  7280 

                                     0164  7320 ;

                                     0164  7360 ;	PRIMARY CHARACTER LIST

                                     0164  7400 ;

                                     0164  7440 PRIMARY:				;

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

                        46 45 44 43  0170       

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

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

                           00000012  0176  7600 OPERBAS=.-PRIMARY			; OPERATORS

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

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

                                 40  0178  7720 	.ASCII	/@/			; SHIFT OPERATOR

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

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

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

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

                                     017D  7920 TERM:					; BASE OF TERMINATOR LIST

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

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

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

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

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

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

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

                                 53  0184  8240 	.ASCII	/S/			; STEP

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

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

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

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

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

                                 52  0189  8480 	.ASCII	/R/			; REGISTER PREFIX

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

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

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

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

                                     018D  8680 

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page   6

                PRIMARY COMMAND SCANNER                                                                                          (1)



                                     018D  8760 	.SBTTL	PRIMARY COMMAND SCANNER

                                     018D  8800 

                                     018D  8840 ;

                                     018D  8880 ;	PRIMARY COMMAND SCANNER

                                     018D  8920 ;

                                     018D  8960 

                                     018D  9000 

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

                                     0195  9080 

                               0000  0195  9120 DCOM:	.WORD				; CALL ENTRY POINT

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

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

                                     0197  9240 	.ENDC				;

                          13     11  0197  9280 	BRB	SCANP			; ENTER SCANP

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

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

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

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

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

                          02C4   30  01A9  9520 	BSBW	RESET			; RESET SCANNER

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

                          FC     11  01AE  9600 	BRB	SCANP			; SCAN IT ALL

                                     01B0  9640 NEXTP:					; PROCESS NEXT PRIMARY CHAR

                          0204   30  01B0  9680 	BSBW	GETCHAR			; GET CHARACTER

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

                       AC AF         01B6       

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

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

                          50         01BD       

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

                                     01BE  9880 		DOT,-			; DOT - CURRENT LOCATION

                                     01BE  9920 		COMMA,-			; COMMA - FIELD SEPARATOR

                                     01BE  9960 		OPERATOR,-		; PLUS - ADD OPERATOR

                                     01BE 10000 		OPERATOR,-		; BLANK - ADD OPERATOR

                                     01BE 10040 		OPERATOR,-		; @ - SHIFT OPERATOR

                                     01BE 10080 		OPERATOR,-		; * - MULTIPLY OPERATOR

                                     01BE 10120 		OPERATOR,-		; % - DIVIDE OPERATOR

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

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

                                     01BE 10240 		TAB,-			; TAB - INDIRECT

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

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

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

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

                                     01BE 10440 		EQUALS,-		; EQUALS - DISPLAY VALUE

                                     01BE 10480 		ESCAP,-			; ESCAPE - PREVIOUS LOCATION

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

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

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

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

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

                                     01BE 10720 		REGISTER,-		;

                                     01BE 10760 		GLOBL,-			; G - GLOBAL PREFIX

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

                                     01BE 10840 		XREG,-			; X REGISTER

                                     01BE 10880 		>			;

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

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   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$

                               0643' 01E6       	.WORD	PREG-30000$

                               03C9' 01E8       	.WORD	QUANT-30000$

                               05FB' 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 10920 	CMPW	R0,#16			; IS NUMBER > RADIX

                          A0     18  01F7 10960 	BGEQ	ERROR			; YES

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

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

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

                                 05  0202 11120 	RSB				; NEXT PRIMARY CHARACTER

                                     0203 11160 

                                     0203 11200 

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

                          54         0206       

                          07     11  0207 11280 	BRB	PRE1			; MERGE WITH COMMON

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

                          06     10  0210 11360 PRE1:	BSBB	ENDEXPR			; END EXPRESSION

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

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

                                     0218 11480 ;	BRB	ENDEXPR

                                     0218 11520 

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page   8

                ENDEXPR - END EXPRESSION                                                                                         (1)



                                     0218 11600 	.SBTTL	ENDEXPR	- END EXPRESSION

                                     0218 11640 

                                     0218 11680 ;

                                     0218 11720 ;

                                     0218 11760 ;

                                     0218 11800 ENDEXPR:				;

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

                          03         021B       

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

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

                          56     D4  0221 11960 	CLRL	R6			; CLEAR ACCUMULATOR

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

                                 05  0226 12040 	RSB				; AND RETURN

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

                                     0227 12120 		ADD,-			; ADD, PLUS

                                     0227 12160 		ADD,-			; BLANK, PLUS

                                     0227 12200 		SHFT,-			; SHIFT, @

                                     0227 12240 		MUL,-			; MULTIPLY, *

                                     0227 12280 		DIV,-			; DIVIDE, %

                                     0227 12320 		>			; 

            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 12360 SHFT:	ASHL	R6,R7,R7		; SHIFT

                          57         0239       

                                 05  023A 12400 	RSB				; AND EXIT

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

                                 05  023E 12480 	RSB				; AND EXIT

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

                                 05  0242 12560 	RSB				; AND EXIT

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

                                 05  0246 12640 	RSB				; AND EXIT

                                     0247 12680 

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page   9

                SLASH - OPEN CELL                                                                                                (1)



                                     0247 12760 	.SBTTL	SLASH - OPEN CELL

                                     0247 12800 

                                     0247 12840 ;

                                     0247 12880 ;	OPEN SPECIFIED CELL

                                     0247 12920 ;

                                     0247 12960 DQUOTE:					; DISPLAY IN ASCII

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

                          03     11  024A 13040 	BRB	OPEN			; 

                                     024C 13080 

                                     024C 13120 SLASH:					;

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

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

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

                          06         0254       

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

                          04     11  0259 13320 	BRB	10$			; AND DISPLAY CONTENT

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

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

            50            6A         0262       

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

            6A            01         0267       

                          0086   30  0269 13480 	BSBW	LOCOUT			; OUTPUT AND OPEN

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

                          1A         026F       

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

                          14     15  0274 13600 	BLEQ	RSET			; YES

                                     0276 13640 	.IF	NDF,SW_PROCESS		;

                          76     10  0276 13680 	BSBB	NEXTLOC			; INCREMENT TO NEXT DOT

                                     0278 13720 	.IFF				;

                                     0278 13760 	BSBW	NEXTLOC			; INCREMENT TO NEXT DOT

                                     0278 13800 	.ENDC				;

                          F6     11  0278 13840 	BRB	15$			; AND CONTINUE

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

                                     027D 13920 

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  10

                RETURN - CLOSE CURRENT OPEN CELL                                                                                 (1)



                                     027D 14000 	.SBTTL	RETURN - CLOSE CURRENT OPEN CELL

                                     027D 14040 

                                     027D 14080 ;

                                     027D 14120 ;	RETURN - CLOSE CURRENT OPEN CELL

                                     027D 14160 ;

                                     027D 14200 

                                     027D 14240 RETURN:					;

                          18     10  027D 14280 	BSBB	ENDFIELD		; TERMINATE CURRENT FIELD

                                     027F 14320 	.ENABL	LSB			;

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

                          0A         0282       

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

                          03         0286       

                          0547   30  0287 14440 	BSBW	DEPOSIT			; DEPOSIT

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

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

                          F9         0290       

                          01D4   31  0291 14560 	BRW	EQL1			; OTHERWISE OUTPUT

                                     0294 14600 	.DSABL	LSB			;

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  11

                ENDFIELD - TERMINATE CURRENT FIELD                                                                               (1)



                                     0294 14680 	.SBTTL	ENDFIELD - TERMINATE CURRENT FIELD

                                     0294 14720 

                                     0294 14760 ;

                                     0294 14800 ;	COMMA TERMINATE CURRENT FIELD

                                     0294 14840 ;

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

                                     0297 14920 

                                     0297 14960 ;

                                     0297 15000 ;	TERMINATE CURRENT FIELD

                                     0297 15040 ;

                                     0297 15080 ENDFIELD:				;

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

                          16         029A       

                          FF7A   30  029B 15160 	BSBW	ENDEXPR			; END EXPRESSION

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

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

                          D3         02A6       

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

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

                          56     7C  02AF 15360 	CLRQ	R6			; CLEAR ACCUMULATORS

                                 05  02B1 15400 10$:	RSB				; RETURN

                                     02B2 15440 

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  12

                FETCH - OBTAIN DATA SPECIFIED                                                                                    (1)



                                     02B2 15520 	.SBTTL	FETCH - OBTAIN DATA SPECIFIED

                                     02B2 15560 

                                     02B2 15600 ;

                                     02B2 15640 ;	FETCH SPECIFIED DATA

                                     02B2 15680 ;

                                     02B2 15720 FETCH:					;

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

                          1D         02B5       

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

                                     02B6 15840 		10$,-			; BYTE

                                     02B6 15880 		20$,-			; WORD

                                     02B6 15920 		30$,-			; LONG

                                     02B6 15960 		>			;

            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 16000 10$:	MOVZBL	@CURDOT-B(R11),QUAN-B(R11)	; GET BYTE

                                 05  02C6 16040 	RSB				; RETURN

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

                                 05  02CC 16120 	RSB				; RETURN

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

                                 05  02D2 16200 	RSB				; RETURN

                                     02D3 16240 	.IF	NDF,SW_PROCESS		;

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

                                     02D7 16320 	.IFF				; FALSE IF PROCESS VERSION

                                     02D7 16360 40$:					;

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

                                     02D7 16440 	.ENDC

                                 05  02D7 16480 	RSB				; RETURN

                                     02D8 16520 

                                     02D8 16560 	.IF	DF,SW_PROCESS		;

                                     02D8 16600 FTCHPREG:				;

                                     02D8 16640 	.WORD	0			; ENTRY MASK

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

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

                                     02D8 16760 	MOVL	#1,R0			; RETURN SUCCESS

                                     02D8 16800 	RET				;

                                     02D8 16840 

                                     02D8 16880 	.ENDC				;

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  13

                NEXTDOT - INCREMENT CURRENT LOCATION                                                                             (1)



                                     02D8 16960 	.SBTTL	NEXTDOT - INCREMENT CURRENT LOCATION

                                     02D8 17000 

                                     02D8 17040 ;

                                     02D8 17080 ;	INCREMENT TO NEXT LOCATION

                                     02D8 17120 ;

                                     02D8 17160 NEXTDOT:				;

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

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

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

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

                          51         02E3       

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

                                 05  02E7 17400 	RSB				; RETURN

                                     02E8 17440 

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  14

                OUTPUT - DISPLAY CONTENT                                                                                         (1)



                                     02E8 17520 	.SBTTL	OUTPUT - DISPLAY CONTENT

                                     02E8 17560 ;

                                     02E8 17600 ;	OUTPUT CONTENT

                                     02E8 17640 ;

                                     02E8 17680 OUTBB:	

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

                                     02EB 17760 	.SBTTL	LINE FEED - DISPLAY NEXT

                                     02EB 17800 ;

                                     02EB 17840 ;

                                     02EB 17880 ;

                                     02EB 17920 LINEFEED:				;

                          FF8F   30  02EB 17960 	BSBW	RETURN			; CLOSE OPEN CELL

                                     02EE 18000 NEXTLOC:				; PROMPT WITH NEXT LOCATION

                          E8     10  02EE 18040 	BSBB	NEXTDOT			; INCREMENT LOCATION

                                     02F0 18080 LOCPROMPT:				; DISPLAY ADDR/CONTENT

                          2B     10  02F0 18120 	BSBB	OUTPUTA			; OUTPUT ADDRESS

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

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

                                     02F7 18240 

                                     02F7 18280 OUTPUT:					;

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

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

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

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

                          04         0307       

                          53     10  0308 18480 	BSBB	OUTCOM			; OUTPUT NUMBER IN HEX

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

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

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

                          52         0313       

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

                          59     10  0318 18680 	BSBB	OUTZBUF			; OUTBUT ASCIIZ BUFFER

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

                                     031D 18760 

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  15

                OUTPUTA - OUTPUT ADDRESS                                                                                         (1)



                                     031D 18840 	.SBTTL	OUTPUTA - OUTPUT ADDRESS

                                     031D 18880 ;

                                     031D 18920 ;	OUTPUT ADDRESS

                                     031D 18960 ;

                                     031D 19000 OUTPUTA:				; OUTPUT ADDRESS

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

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

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

                          53         0327       

                          12     19  0328 19160 	BLSS	5$			; NOT GENERAL REGISTER

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

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

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

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

                          52     10  0336 19360 	BSBB	OUTCHAR			; OF 'R'

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

                          13     11  033A 19440 	BRB	10$			;

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

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

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

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

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

                          3E     10  034A 19680 	BSBB	OUTCHAR			; OUTPUT P

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

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

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

                          34     11  0354 19840 	BRB	OUTCHAR			; RETURN THROUGH OUTCHAR

                                     0356 19880 OUTDIGIT:				; OUTPUT ONE DIGIT

                          52     D4  0356 19920 	CLRL	R2			; ZAP DIGIT SELECTOR

                          03     11  0358 19960 	BRB	OUTCOM			; AND MERGE WITH COMMON

                                     035A 20000 

                                     035A 20040 OUTLONG:				; OUTPUT LONGWORD

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

                                     035D 20120 OUTCOM:					; FORMAT IT

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

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

            51            53         0364       

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

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

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

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

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

                                     0377 20440 

                                     0377 20480 OUTZSTRING:				; OUTPUT ASCIZ STRING

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

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

                          0C     10  037C 20600 	BSBB	OUTCHAR			; OUTPUT CHAR

                          F7     11  037E 20640 	BRB	OUTZSTRING		; CONTINUE

                                 05  0380 20680 10$:	RSB				; RETURN IF DONE

                                     0381 20720 

                                     0381 20760 

                                     0381 20800 OUTBSLSH:				; OUTPUT BACK SLASH

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

                          03     11  0385 20880 	BRB	OUTCHAR			; AND OUTPUT IT

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

                                     038A 20960 OUTCHAR:				; OUTPUT CHAR IN R0

                                     038A 21000 	.IF	NDF,SW_PROCESS		;

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  16

                OUTPUTA - OUTPUT ADDRESS                                                                                         (1)



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

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

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

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

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

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

                          EF         039A       

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

                          04     12  039D 21320 	BNEQ	30$			; YES

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

                                 05  03A2 21400 	RSB				; RETURN

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

                                     03A7 21480 	.IFF				; FALSE FOR PROCESS VERSION

                                     03A7 21520 	PUSHL	R0			; BUFFER CHARACTER ON STACK

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

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

                                     03A7 21640 		CHAN=TTCHAN,-		; 

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

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

                                     03A7 21760 		P2=#1			; ONE CHARACTER

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

                                     03A7 21840 	.ENDC				;

                                 05  03A7 21880 	RSB				; AND RETURN

                                     03A8 21920 OUTSPACE:				;

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

                          DD     11  03AB 22000 	BRB	OUTCHAR			; AND SEND IT

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

                          D8     10  03B0 22080 	BSBB	OUTCHAR			; SEND IT

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

                          D3     11  03B5 22160 	BRB	OUTCHAR			; SEND IT

                                     03B7 22200 

                                     03B7 22240 

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  17

                GETCHAR - GET INPUT CHARACTER ROUTINE                                                                            (1)



                                     03B7 22320 	.SBTTL	GETCHAR - GET INPUT CHARACTER ROUTINE

                                     03B7 22360 

                                     03B7 22400 ;

                                     03B7 22440 ;	GETCHAR - GET INPUT CHARACTER

                                     03B7 22480 ;

                                     03B7 22520 ; OUTPUT:

                                     03B7 22560 ;	R8 - INPUT CHARACTER

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

                                     03B7 22640 ;

                                     03B7 22680 

                                     03B7 22720 GETCHAR:				;

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

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

                                 05  03BC 22840 	RSB

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

                                     03C1 22920 	.IF	NDF,SW_PROCESS		;

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

                          05     13  03C3 23000 	BEQL	30$			; YES

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

                          03     11  03C8 23080 	BRB	40$			; CHECK STATUS

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

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

                          F0         03D0       

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

                          06     13  03D3 23240 	BEQL	50$			; YES

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

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

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

                                     03DE 23400 	.IFF				; FALSE IF PROCESS VERSION

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

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

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

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

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

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

                                     03DE 23680 	P4=#TERMASKD			;

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

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

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

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

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

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

                                     03DE 23960 	.ENDC				;

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

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

                          15     12  03E6 24080 	BNEQ	90$			; NO

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

                          03         03EB       

                          FF92   30  03EC 24160 	BSBW	OUTBSLSH		; OUTPUT BACK SLASH

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

                          04     12  03F2 24240 	BNEQ	80$			; SKIP INC

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

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

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

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

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

                          03         0400       

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  18

                GETCHAR - GET INPUT CHARACTER ROUTINE                                                                            (1)



                          FF7D   30  0401 24480 	BSBW	OUTBSLSH		; OUTPUT BACK SLASH

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

                          03         0407       

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

                                     040B 24600 110$:					;

                                     040B 24640 	.IF	NDF,SW_PROCESS		;

                          FF79   30  040B 24680 	BSBW	OUTR8			; ECHO CHARACTER

                                     040E 24720 	.ENDC				;

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

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

                     FD66 CF         0414       

                          A8     13  0417 24840 	BEQL	20$			; NOT A TERMINATOR

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

                          03     12  041C 24920 	BNEQ	120$			; NO,

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

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

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

                          FF8D   31  0427 25080 	BRW	GETCHAR			; AND TRY AGAIN

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  19

                PLUS/MINUS OPERATORS                                                                                             (1)



                                     042A 25160 	.SBTTL	PLUS/MINUS OPERATORS

                                     042A 25200 ;

                                     042A 25240 ;	PLUS/MINUS OPERATORS

                                     042A 25280 ;

                                     042A 25320 BLANK:					; SAME AS PLUS

                                     042A 25360 OPERATOR:				; 

                          FDEB   30  042A 25400 	BSBW	ENDEXPR			; END EXPR

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

                       FF AB         0430       

                                 05  0432 25480 	RSB				; RETURN

                                     0433 25520 ;

                                     0433 25560 ;	MONADIC MINUS - NEGATE

                                     0433 25600 ;

                          56     D5  0433 25640 NEGATE:	TSTL	R6			; TEST ACCUMULATOR

                          03     13  0435 25680 	BEQL	5$			; EMPTY

                          FDDE   30  0437 25720 	BSBW	ENDEXPR			; OTHERWISE PERFORM OPERATION

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

                                 05  043E 25800 10$:	RSB				; AND RETURN

                                     043F 25840 

                                     043F 25880 

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  20

                TAB - INDIRECT DISPLAY                                                                                           (1)



                                     043F 25960 	.SBTTL	TAB - INDIRECT DISPLAY

                                     043F 26000 ;

                                     043F 26040 ;	TAB

                                     043F 26080 ;

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

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

            50            6A         0446       

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

            6A            01         044B       

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

                                     044F 26280 

                                     044F 26320 ;

                                     044F 26360 ;	ESCAPE - DISPLAY PREVIOUS LOCATION

                                     044F 26400 ;

                                     044F 26440 

                                     044F 26480 ESCAP:					;

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

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

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

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

                          51         045A       

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

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

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  21

                EQUALS - DISPLAY VALUE                                                                                           (1)



                                     0461 26800 	.SBTTL	EQUALS - DISPLAY VALUE

                                     0461 26840 ;

                                     0461 26880 ;	EQUALS - VALUE DISPLAY

                                     0461 26920 ;

                                     0461 26960 EQUALS:					;

                                     0461 27000 	.ENABL	LSB			;

                          FE33   30  0461 27040 	BSBW	ENDFIELD		; TERMINATE FIELD

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

                          05         0467       

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

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

                                     0470 27200 ;	BRB	RESET			; RESET SCANNER

                                     0470 27240 	.DSABL	LSB			;

                                     0470 27280 

                                     0470 27320 ;

                                     0470 27360 ;	RESET

                                     0470 27400 ;

                                     0470 27440 

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

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

                          56     7C  047A 27560 	CLRQ	R6			; RESET ACCUMULATORS

                                 05  047C 27600 	RSB				; RETURN

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  22

                SEMI - SECONDARY COMMAND SET                                                                                     (1)



                                     047D 27680 	.SBTTL	SEMI - SECONDARY COMMAND SET

                                     047D 27720 ;

                                     047D 27760 ;	SEMI

                                     047D 27800 ;

                                     047D 27840 

                                     047D 27880 SECOND:					;

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

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

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

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

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

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

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

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

                                     0484 28240 

                                     0484 28280 SEMI:					;

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

                          FE0D   30  0487 28360 	BSBW	ENDFIELD		; TERMINATE FIELD

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

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

                       EB AF         0490       

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

                                     0492 28520 		BRKPOINT,-		; SET BREAKPOINT

                                     0492 28560 		EXECUTE,-		; EXECUTE STRING

                                     0492 28600 		GO,-			; SEMI-G, GO

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

                                     0492 28680 		MASKS,-			; SEMI-M, MASK

                                     0492 28720 		PROCED,-		; SEMI-P, PROCEED

                                     0492 28760 		XSET,-			; SET XREGISTER

                                     0492 28800 		>			;

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

                          06'        0495       

                                     0496       30006$:

                               003A' 0496       	.WORD	BRKPOINT-30006$

                               0361' 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 28840 ERR2:	BRW	ERROR			; ERROR

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  23

                LEFT BRACKET - MODE SELECTION                                                                                    (1)



                                     04A7 28920 	.SBTTL	LEFT BRACKET - MODE SELECTION

                                     04A7 28960 ;

                                     04A7 29000 ;

                                     04A7 29040 ;	LEFT BRACKET

                                     04A7 29080 ;

                                     04A7 29120 MODES:					; MODE CHARACTER LIST

                                 43  04A7 29160 	.ASCII	/C/			; CHARACTER

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

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

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

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

                                     04AB 29360 

                                     04AB 29400 

                                     04AB 29440 LBRACKET:				; MODE SELECTION

                          FF09   30  04AB 29480 	BSBW	GETCHAR			; GET MODE CHAR

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

                       F4 AF         04B1       

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

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

                          09         04B8       

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

                       FE AB         04BC       

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

                                 05  04C1 29720 	RSB				; RETURN

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

                                 05  04C5 29800 	RSB

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  24

                SINGLE STEP                                                                                                      (1)



                                     04C6 29880 	.SBTTL	SINGLE STEP

                                     04C6 29920 ;

                                     04C6 29960 ;	STEP

                                     04C6 30000 ;

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

            6A            02         04C9       

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

                          00         04CE       

                                 04  04CF 30120 20$:	RET				; AND RETURN

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  25

                BRKPOINT - SET/CLEAR BREAKPOINTS                                                                                 (1)



                                     04D0 30200 	.SBTTL	BRKPOINT - SET/CLEAR BREAKPOINTS

                                     04D0 30240 ;

                                     04D0 30280 ;	BRKPOINT

                                     04D0 30320 ;

                                     04D0 30360 BRKPOINT:				; 

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

                          58         04D3       

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

                          12         04D7       

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

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

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

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

            FFF3          52         04E5       

                          BA     11  04E8 30640 	BRB	ERR2			; ERROR

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

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

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

                          AF     19  04F3 30800 	BLSS	ERR2			; OUT OF RANGE

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

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

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

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

                                     0505 31000 	.IF	DF,SW_PROCESS		;

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

                                     0505 31080 	MOVL	R0,R5			; SET START ADDRESS

                                     0505 31120 	MOVL	R0,R6			; AND END ADDRESS

                                     0505 31160 	BSBW	SETWRT			; SET PAGE WRITABLE

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

                                     0505 31240 	.ENDC				;

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

                                     0508 31320 	.IF	DF,SW_PROCESS		;

                                     0508 31360 	BSBW	REPROT			; RESTORE PROTECTION

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

                                     0508 31440 	.ENDC				;

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

                          0C         050B       

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

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

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

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

                          07         051B       

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

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

                          FF44   31  0529 31760 	BRW	RESET			; RESET SCANNER AND RETURN

                                     052C 31800 ;

                                     052C 31840 ;	SHOBRK

                                     052C 31880 ;

                                     052C 31920 SHOBRK:					;

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

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

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

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

                          FE70   30  053A 32120 	BSBW	CRLF			; NEW LINE

                          FE16   30  053D 32160 	BSBW	OUTDIGIT		; BPT NUMBER

                          FE65   30  0540 32200 	BSBW	OUTSPACE		; SPACE

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

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  26

                BRKPOINT - SET/CLEAR BREAKPOINTS                                                                                 (1)



                          FE11   30  0546 32280 	BSBW	OUTLONG			; OUTPUT ADDRESS

                          FE5C   30  0549 32320 	BSBW	OUTSPACE		; SPACE OVER

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

                          03     13  0552 32400 	BEQL	15$			; NONE

                          FE03   30  0554 32440 	BSBW	OUTLONG			; OUTPUT DISPLAY START

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

                          06     13  055D 32520 	BEQL	20$			; NONE

                          FE46   30  055F 32560 	BSBW	OUTSPACE		; SPACE ANOTHER

                          FDF5   30  0562 32600 	BSBW	OUTLONG			; AND OUTPUT A LONGWORD

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

            FFC4          55         0568       

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

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  27

                GO - START EXECUTION AT SPECIFIED LOCATION                                                                       (1)



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

                                     056E 32800 ;

                                     056E 32840 ;	GO

                                     056E 32880 ;

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

                          05         0571       

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

                                     0577 33000 ;	BRW	PROCED			; FALL INTO PROCEED

                                     0577 33040 ;

                                     0577 33080 ;	PROCEED

                                     0577 33120 ;

                                     0577 33160 PROCED:					;

                                 04  0577 33200 	RET				; RETURN

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  28

                SEMI-I, PC VALUE                                                                                                 (1)



                                     0578 33280 	.SBTTL	SEMI-I, PC VALUE

                                     0578 33320 ;

                                     0578 33360 ;	SEMI-I

                                     0578 33400 ;

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

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

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

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

                          18         0584       

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

                          14         0588       

                          12     11  0589 33640 	BRB	VALR			; READ VALUE

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

                          0C     11  058F 33720 	BRB	VALR			; READ VALUE

                                     0591 33760 PROGCTR:				;

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

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

                          04         0598       

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

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

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

                                     05A3 34000 REGISTER:				;

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

                          02     10  05A7 34080 	BSBB	REGCOM			; FETCH ADDRESS

                          F5     11  05A9 34120 	BRB	VALI			; AND USE IT

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

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

                     FBB0 CF         05B1       

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

                                     05B4 34280 	BNEQ	10$			; LEGAL HEX DIGIT

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

                                     05B4 34360 	BNEQ	ERR3			; NO, ERROR

                                     05B4 34400 	$EXIT_S	EXITCODE		; YES EXIT

                                     05B4 34440 	.IFF				;

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

                                     05B6 34520 	.ENDC				;

                                     05B6 34560 10$:					;

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

                          50         05B9       

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

                                 05  05BE 34680 	RSB				; RETURN

                                     05BF 34720 

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

                          24         05C2       

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

            51         E8 AB         05C6       

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

                          C4     11  05CF 34880 	BRB	VALUE			; PROCESS VALUE

                                     05D1 34920 XREG:					; X-REGISTER VALUE

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

                          D3     10  05D6 35000 	BSBB	REGCOM			; ADDRESS TO R6

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

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

                                     05DD 35120 	.ALIGN	LONG			; LONGWORD ALIGN EXCEPTION ROUTINES

                                     05E0 35160 XDELACV:				; ACCESS VIOLATION HANDLER

                                     05E0 35200 MCHK:					; MACHINE CHECK

                                     05E0 35240 	.IF	NDF,SW_PROCESS		;

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  29

                SEMI-I, PC VALUE                                                                                                 (1)



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

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

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

                                     05E7 35400 	.ENDC				;

                                     05E7 35440 10$:					;

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

                                     05EA 35520 

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  30

                REGISTER SAVE AND RESTORE                                                                                        (1)



                                     05EA 35600 	.SBTTL	REGISTER SAVE AND RESTORE

                                     05EA 35640 

                                     05EA 35680 ;

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

                                     05EA 35760 ;

                                     05EA 35800 SAVE:					;

                                     05EA 35840 	.IF	NDF,SW_PROCESS		;

                                     05EA 35880 	SETIPL	#31			; DISABLE

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

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

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

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

                                     05FD 36040 	.IFF				; FALSE IF PROCESS VERSION

                                     05FD 36080 	$SETAST_S	#0		; DISABLE ASTS

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

                                     05FD 36160 	MOVPSL	R1			; GET CURRENT PSL

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

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

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

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

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

                                     05FD 36400 	.ENDC				;

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

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

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

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

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

                                     060C 36640 	.IF	NDF,SW_PROCESS		;

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

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

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

                                     0617 36800 	.IFF				;

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

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

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

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

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

                                     0617 37040 	.ENDC				;

                                     0617 37080 	.IF	NDF,SW_PROCESS		;

            81            22     DB  0617 37240 	MFPR	#PR$_TXCS,(R1)+		; SAVE CONSOLE TRANSMIT STATUS

            81            20     DB  061A 37280 	MFPR	#PR$_RXCS,(R1)+		; SAVE CONSOLE RECVR STATUS

                          5C     D4  061D 37320 	CLRL	AP			; ZAP DEVICE ADDRESS BASE

                                     061F 37360 	.ENDC				;

                                     061F 37400 	.IF	NDF,SW_PROCESS		;

            22            00     DA  061F 37440 	MTPR	#0,#PR$_TXCS		; CLEAR INTERRUPT ENABLE

            20            00     DA  0622 37480 	MTPR	#0,#PR$_RXCS		; FOR BOTH TRANSMIT AND RECEIVE

                                     0625 37880 	.ENDC				;

                                     0625 37920 	.IF	NDF,SW_PROCESS		;

            5B       FA2B CF     9E  0625 37960 20$:	MOVAB	B,R11			; AND DATA BASE ADDRESS

                                     062A 38000 	.IFF				; FALSE FOR PROCESS VERSION

                                     062A 38040 	MOVAB	W^<B-<SAVPSL+4>>(R1),R11	; SET BASE OF CONTEXT AREA

                                     062A 38080 	MOVL	(SP)+,ASTEN-B(R11)	; SAVE AST ENABLE

                                     062A 38120 	.ENDC				;

            5A         E0 AB     9E  062A 38160 	MOVAB	STATUS-B(R11),R10	; SET STATUS BASE

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

                          69     94  0632 38240 	CLRB	(R9)			; MAKE BUFFER EMPTY

                                     0634 38280 	.IF	NDF,SW_PROCESS		;

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  31

                REGISTER SAVE AND RESTORE                                                                                        (1)



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

       FB1F CF         04 A0     D0  063B 38360 	MOVL	4(R0),MCHKSAV		; SAVE ORIGINAL MCHK VECTOR

         04 A0         9C AF     9E  0641 38400 	MOVAB	MCHK,4(R0)		; SET TO XDELTA VECTOR

         20 A0         97 AF     9E  0646 38440 	MOVAB	XDELACV,^X20(R0)	; SET ACCESS VIOLATION VECTOR

         24 A0         92 AF     9E  064B 38480 	MOVAB	XDELACV,^X24(R0)	; SET PG FAULT VECTOR

         18 A0         8D AF     9E  0650 38520 	MOVAB	XDELACV,^X18(R0)	; SET RESERVED OPERAND HANDLER

            02            18     EF  0655 38560 	EXTZV	#PSL$V_CURMOD,#PSL$S_CURMOD,8(SP),R0	; GET MODE

            50         08 AE         0658       

                          07     13  065B 38600 	BEQL	30$			; CORRECT ALREADY IF KERNEL

            50            00     C0  065D 38640 	ADDL	#PR$_KSP,R0		; COMPUTE PROCESSOR REGISTER

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

                                     0664 38720 	.ENDC				;

                          FE09   31  0664 38760 30$:	BRW	RESET			; RESET SCANNER

                                     0667 38800 

                                     0667 38840 ;

                                     0667 38880 ;	RESTORE - RESTORE TARGET REGISTERS

                                     0667 38920 ;

                                     0667 38960 RESTORE:				; RESTORE EVERYTHING

                                     0667 39000 	.IF	NDF,SW_PROCESS		;

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

                                     066C 39080 	.IFF				; FALSE IF PROCESS

                                     066C 39120 	SUBL3	#1,@4(AP),R0		; GET SIGNAL ARG COUNT

                                     066C 39160 	MOVAL	@4(AP)[R0],R0		; COMPUTE ADDRESS OF PC,PSL

                                     066C 39200 	MOVQ	SAVPC-B(R11),(R0)	; STORE UPDATED PC,PSL

                                     066C 39240 	.ENDC				;

                                     066C 39280 RESTORR:				; RESTORE REGISTERS ONLY

                                     066C 39320 	.IF	NDF,SW_PROCESS		;

            50   FFFFFFFC'EF     9E  066C 39360 	MOVAB	EXE$MCHKVEC-4,R0	; SET BASE OF SCB

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

         24 A0   00000000'EF     9E  067B 39440 	MOVAB	MMG$PAGEFAULT,^X24(R0)	; AND PAGE FAULT VECTOR

         04 A0       FAD9 CF     D0  0683 39480 	MOVL	MCHKSAV,4(R0)		; RESTORE MACHINE CHECK VECTOR

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

                          5C     B5  0691 39560 	TSTW	AP			; CHECK FOR CONSOLE

                          0A     12  0693 39600 	BNEQ	10$			; NO, OTHER DEVICE

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

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

                          09     11  069D 39720 	BRB	20$			; MERGE WITH COMMON CODE

         04 AC         5C AB     B0  069F 39760 10$:	MOVW	SAVOCR-B(R11),OUTCR(AP)	; RESTORE OUTPUT CSR

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

                                     06A8 39840 	.IFF				;

                                     06A8 39880 	PUSHL	ASTEN-B(R11)		; SAVE AST ENABLE

                                     06A8 39920 	.ENDC				;

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

            52            81     7D  06AC 40000 	MOVQ	(R1)+,R2		; RESTORE R2,R3

            54            81     7D  06AF 40040 	MOVQ	(R1)+,R4		; RESTORE R4,R5

            56            81     7D  06B2 40080 	MOVQ	(R1)+,R6		; RESTORE R6,R7

            58            81     7D  06B5 40120 	MOVQ	(R1)+,R8		; RESTORE R8,R9

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

                                     06BB 40200 	.IF	NDF,SW_PROCESS		;

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

            50       F9AA CF     7D  06BE 40280 	MOVQ	SAVREG,R0		; RESTORE R0,R1

                                     06C3 40320 	.IFF				; FALSE IF PROCESS VERSION

                                     06C3 40360 	MOVQ	(R1)+,8(FP)		; SET NEW VALUES FOR AP,FP

                                     06C3 40400 	MOVL	8(AP),R0		; GET MECHANISM POINTER

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

                                     06C3 40480 	MOVPSL	R1			; GET CURRENT PSL

                                     06C3 40520 	EXTZV	#PSL$V_CURMOD,#PSL$S_CURMOD,R1,R1	; GET CURRENT MODE

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  32

                REGISTER SAVE AND RESTORE                                                                                        (1)



                                     06C3 40560 	BBCC	R1,DBGACTIVE,30$	; CLEAR ACTIVE BIT FOR MODE

                                     06C3 40600 30$:					;

                                     06C3 40640 	TSTL	(SP)+			; CHECK FOR AST ENABLE

                                     06C3 40680 	BEQL	35$			; NO

                                     06C3 40720 	$SETAST_S	#1		; RE- ENABLE AST RECOGNITION

                                     06C3 40760 35$:					;

                                     06C3 40800 	.ENDC				;

                                     06C3 40840 	.IF	NDF,SW_PROCESS		;

                 00000000'EF     16  06C3 40880 	JSB	INI$RDONLY		; REPROTECT THE SYSTEM CODE

                                     06C9 40920 	.ENDC				;

                                 05  06C9 40960 	RSB				; AND RETURN

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  33

                BPT TRAP HANDLER                                                                                                 (1)



                                     06CA 41040 	.SBTTL	BPT TRAP HANDLER

                                     06CA 41080 ;

                                     06CA 41120 ;	HANDLE BREAKPOINT TRAPS

                                     06CA 41160 ;

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

                                     06D3 41240 	.ALIGN	LONG			; LONGWORD ALIGNMENT

                                     06D4 41280 	.IF	NDF,SW_PROCESS		; EXEC VERSION

                                     06D4 41320 XDELBPT::				; XDELTA BPT ENTRY

                                     06D4 41360 	.IFF				;

                                     06D4 41400 XDELBPT:				; DELTA BPT ENTRY

                                     06D4 41440 	.ENDC				;

                          FF13   30  06D4 41480 	BSBW	SAVE			; SAVE REGS AND DISABLE

                          00D3   30  06D7 41520 	BSBW	GETBPTX			; GET INDEX OF BPT

                          53     D5  06DA 41560 	TSTL	R3			; CHECK FOR MATCH

                          0F     12  06DC 41600 	BNEQ	10$			; YES, FOUND IT

                          8C     10  06DE 41640 	BSBB	RESTORR			; RESTORE REGISTERS ONLY

                                     06E0 41680 	.IF	NDF,SW_PROCESS		;

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

                                     06E4 41760 	ENBINT				; ENABLE

            12            8E     DA  06E4       		MTPR	(SP)+,S^#PR$_IPL

                 00000000'EF     17  06E7 41800 	JMP	EXE$BREAK		; AND HANDLE NORMALLY

                                     06ED 41840 	.IFF				; FALSE IF PROCESS VERSION

                                     06ED 41880 ;

                                     06ED 41920 ;	***** UNEXPECTED BREAKPOINT *****

                                     06ED 41960 	CLRL	R0			; RETURN FALSE

                                     06ED 42000 	RET				;

                                     06ED 42040 	.ENDC				;

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

                                     06F0 42120 30$:					;

                          0082   30  06F0 42160 	BSBW	UNBRK			; RESTORE OPCODES

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

                          38         06F7       

            55            53     D0  06F8 42240 	MOVL	R3,R5			; SAVE BPT NUMBER

                          FCAF   30  06FB 42280 	BSBW	CRLF			; OUTPUT CR/LF PAIR

                          FC55   30  06FE 42320 	BSBW	OUTDIGIT		; OUTPUT BPT NUMBER

            54         C6 AF     9E  0701 42360 	MOVAB	BMSG,R4			; MSG ADDRESS

                          FC6F   30  0705 42400 	BSBW	OUTZSTRING		; OUTPUT ASCIIZ

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

                          FC4B   30  070C 42480 	BSBW	OUTLONG			; OUTPUT HEX LONGWORD

                          FC96   30  070F 42520 	BSBW	OUTSPACE		; SEND SPACE

            51       F9C5 CF45   D0  0712 42560 	MOVL	BRKDSP[R5],R1		; GET ADDRESS TO DISPLAY

                          06     13  0718 42600 	BEQL	40$			; NONE

            6B            51     D0  071A 42640 	MOVL	R1,CURDOT-B(R11)	; SET AS CURRENT DOT

                          FBD0   30  071D 42680 	BSBW	LOCPROMPT		; AND DISPLAY

            51       F9D7 CF45   D0  0720 42720 40$:	MOVL	BRKCOM[R5],R1		; GET COMMAND STRING ADDRESS

                          03     13  0726 42760 	BEQL	GETCMD			; NONE GET COMMAND

            59            51     D0  0728 42800 	MOVL	R1,R9			; SET TO SCAN STORED COMMAND

                                     072B 42840 GETCMD:					; GET COMMANDS

                                     072B 42880 

       FA65 CF            6C     FA  072B 42920 	CALLG	(AP),DCOM		; PERFORM DEBUG COMMANDS

                                     0730 42960 PROCEED:				; PROCEED

                          58     10  0730 43000 	BSBB	SETBRK			; SET BREAKPOINTS

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

                          09         0735       

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

                          00         073A       

                                     073B 43120 40$:					;

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  34

                BPT TRAP HANDLER                                                                                                 (1)



                                     073B 43160 	.IF	DF,SW_PROCESS		; FOR PROCESS VERSION

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

                                     073B 43240 	BNEQ	45$			; NO, NOTHING SPECIAL

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

                                     073B 43320 	MULW	#CONTEXTSZ,R0		; SCALE BY PER MODE CONTEXT AREA SIZE

                                     073B 43360 	MOVAB	STATUS-B(R0),R10	; POINT TO NEW FLAGS

                                     073B 43400 	.ENDC				;

            6A            05     E2  073B 43440 45$:	BBSS	#V_TBITOK,(R10),50$	; SET TBIT EXPECTED

                          00         073E       

                          FF25   30  073F 43480 50$:	BSBW	RESTORE			; RESTORE EVERYTHING

                                     0742 43520 	.IF	NDF,SW_PROCESS		;

                                 02  0742 43560 	REI				; AND RETURN

                                     0743 43600 	.IFF				; FALSE IF PROCESS VERSION

                                     0743 43640 	MOVL	#1,R0			; RETURN TRUE

                                     0743 43680 	RET				;

                                     0743 43720 	.ENDC				;

                                     0743 43760 

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  35

                TBIT EXCEPTION HANDLER                                                                                           (1)



                                     0743 43840 	.SBTTL	TBIT EXCEPTION HANDLER

                                     0743 43880 ;

                                     0743 43920 ;	HANDLER FOR TBIT EXCEPTION

                                     0743 43960 ;

                                     0743 44000 	.ALIGN	LONG			; LONGWORD ALIGNED

                                     0744 44040 	.IF	NDF,SW_PROCESS		;

                                     0744 44080 XDELTBIT::				; XDELTA TBIT HANDLER

                                     0744 44120 	.IFF				;

                                     0744 44160 XDELTBIT:				;

                                     0744 44200 	.ENDC				;

                          FEA3   30  0744 44240 	BSBW	SAVE			; SAVE AND DISABLE

            6A            05     E4  0747 44280 	BBSC	#V_TBITOK,(R10),XDELDBG	; BR IF TBIT EXPECTED

                          10         074A       

                          FF1E   30  074B 44320 	BSBW	RESTORR			; RESTORE REGISTERS

                                     074E 44360 	.IF	NDF,SW_PROCESS		;

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

                                     0752 44440 	ENBINT				; ENABLE

            12            8E     DA  0752       		MTPR	(SP)+,S^#PR$_IPL

                 00000000'EF     17  0755 44480 	JMP	EXE$TBIT		; OTHERWISE LET EXEC HANDLE

                                     075B 44520 	.IFF				; FALSE IF PROCESS VERSION

                                     075B 44560 	CLRL	R0			; RESIGNAL

                                     075B 44600 	RET				; UNEXPECTED TBIT EXCEPTION

                                     075B 44640 	.ENDC				;

                                     075B 44680 XDELDBG:				; COMMON WITH DEBUG EXCEPTION

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

                          14     10  075F 44760 	BSBB	UNBRK			; REPLACE OPCODES

            6A            04     E4  0761 44800 	BBSC	#V_ATBRK,(R10),PROCEED	; CHECK FOR PROCEED

                          CB         0764       

                                     0765 44840 ;

                                     0765 44880 ;	OUTPUT STEP MESSAGE

                                     0765 44920 ;

            6B         54 AB     D0  0765 44960 	MOVL	SAVPC-B(R11),CURDOT-B(R11)	; SET ADDRESS

                                     0769 44980 	IFNORD	#4,@CURDOT-B(R11),GETCMD	; SKIP DISPLAY IF NOT READABLE

            04            00     0C  0769       		PROBER	#0,#4,@CURDOT-B(R11)

                       00 BB         076C       

                          BB     13  076E       		BEQL	GETCMD

                          FB7D   30  0770 45000 	BSBW	LOCPROMPT		; PROMPT WITH ADDRESS/CONTENT

                          B6     11  0773 45040 	BRB	GETCMD			; GO GET COMMANDS

                                     0775 45080 

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  36

                UNBRK - RESTORE OPCODES FOR BREAKPOINTS                                                                          (1)



                                     0775 45160 	.SBTTL	UNBRK - RESTORE OPCODES FOR BREAKPOINTS

                                     0775 45200 ;

                                     0775 45240 ;	UNBRK

                                     0775 45280 ;

                                     0775 45320 UNBRK:					;

            51            08     D0  0775 45360 	MOVL	#NBRK,R1		; INIT LOOP

            50       F937 CF41   D0  0778 45400 10$:	MOVL	BRKADR[R1],R0		; GET BREAKPOINT ADDRESS

                          06     13  077E 45440 	BEQL	20$			; SKIP IF NOT ENABLED

                                     0780 45480 	.IF	DF,SW_PROCESS		;

                                     0780 45520 	PUSHR	#^M<R0,R1,R2,R3,R4,R5>	; SAVE REGS FOR PROTECTION CHANGE

                                     0780 45560 	MOVL	R0,R4			; FORM INADR RANGE FOR SET PROTECTION

                                     0780 45600 	MOVL	R0,R5			;

                                     0780 45640 	BSBW	SETWRT			; SET PAGE WRITABLE

                                     0780 45680 	MOVQ	(SP),R0			; RESTORE R0,R1

                                     0780 45720 	.ENDC				;

            60       F952 CF41   90  0780 45760 	MOVB	BRKOP[R1],(R0)		; RESTORE OPCODE

                                     0786 45800 	.IF	DF,SW_PROCESS		;

                                     0786 45840 	BSBW	REPROT			; RESTORE PROTECTION

                                     0786 45880 	POPR	#^M<R0,R1,R2,R3,R4,R5>	; RESTORE REGISTERS

                                     0786 45920 	.ENDC				;

            EF            51     F5  0786 45960 20$:	SOBGTR	R1,10$			; DO THEM ALL

                                 05  0789 46000 	RSB				; AND RETURN

                                     078A 46040 

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  37

                SETBRK - SET BREAK POINT INSTRUCTIONS                                                                            (1)



                                     078A 46120 	.SBTTL	SETBRK - SET BREAK POINT INSTRUCTIONS

                                     078A 46160 ;

                                     078A 46200 ;	SETBRK

                                     078A 46240 ;

            51            08     D0  078A 46280 SETBRK:	MOVL	#NBRK,R1		; INIT LOOP

            50       F922 CF41   D0  078D 46320 10$:	MOVL	BRKADR[R1],R0		; GET ADDRESS

                          14     13  0793 46360 	BEQL	20$			; SKIP IF NOT ENABLED

       F93C CF41          60     90  0795 46400 	MOVB	(R0),BRKOP[R1]		; SAVE OPCODE

            6A            18     93  079B 46440 	BITB	#<<1@V_TBIT>!<1@V_ATBRK>>,(R10)	; CHECK FOR TRACE

                          06     13  079E 46480 	BEQL	15$			; NO TRACE, SET ANYWAY

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

                          03     13  07A4 46560 	BEQL	20$			; YES, DONT SET IT

                                     07A6 46600 15$:					;

                                     07A6 46640 	.IF	DF,SW_PROCESS		;

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

                                     07A6 46720 	MOVL	R0,R4			; SET START ADDRESS OF RANGE

                                     07A6 46760 	MOVL	R0,R5			; AND END ADDRESS

                                     07A6 46800 	BSBW	SETWRT			;SET PAGE WRITABLE

                                     07A6 46840 	MOVL	(SP),R0			; RESTORE BPT ADDRESS

                                     07A6 46880 	.ENDC				;

            60            03     90  07A6 46920 	MOVB	#3,(R0)			; SET BREAKPOINT OPCODE

                                     07A9 46960 	.IF	DF,SW_PROCESS		;

                                     07A9 47000 	BSBW	REPROT			; RESTORE ORIGINAL PROTECTION VALUE

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

                                     07A9 47080 	.ENDC				;

            E1            51     F5  07A9 47120 20$:	SOBGTR	R1,10$			; DO THEM ALL

                                 05  07AC 47160 	RSB				; AND RETURN

                                     07AD 47200 

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  38

                GETBPTX - GET INDEX FOR BREAKPOINT                                                                               (1)



                                     07AD 47280 	.SBTTL	GETBPTX - GET INDEX FOR BREAKPOINT

                                     07AD 47320 ;

                                     07AD 47360 ;	GETBPTX

                                     07AD 47400 ;

                                     07AD 47440 GETBPTX:				;

            53            08     D0  07AD 47480 	MOVL	#NBRK,R3		; INIT LOOP

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

                          03     13  07B7 47560 	BEQL	20$			; YES

            F4            53     F5  07B9 47600 	SOBGTR	R3,10$			; NO, CONTINUE

                                 05  07BC 47640 20$:	RSB				; RETURN

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  39

                QUOTE - INPUT CHARACTER STRING                                                                                   (1)



                                     07BD 47720 	.SBTTL	QUOTE - INPUT CHARACTER STRING

                                     07BD 47760 ;

                                     07BD 47800 ;	QUOTE - START CHARACTER STRING INPUT

                                     07BD 47840 ;

                                     07BD 47880 QUOTE:					;

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

                          FBF4   30  07C0 47960 5$:	BSBW	GETCHAR			; GET CHARACTER

            58            27     91  07C3 48000 	CMPB	#QUOT,R8		; CHECK FOR QUOTE

                          05     13  07C6 48040 	BEQL	10$			; YES, END OF STRING

            85            58     90  07C8 48080 	MOVB	R8,(R5)+		; INSERT IN BUFFER

                          F3     11  07CB 48120 	BRB	5$			; AND CONTINUE

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

                                 05  07D0 48200 	RSB				; RETURN

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  40

                DEPOSIT                                                                                                          (1)



                                     07D1 48280 	.SBTTL	DEPOSIT

                                     07D1 48320 ;

                                     07D1 48360 ;	DEPOSIT DATA

                                     07D1 48400 ;

                                     07D1 48440 DEPOSIT:				;

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

                          1D         07D4       

                                     07D5 48520 	.IF	DF,SW_PROCESS		;

                                     07D5 48560 	MOVL	CURDOT-B(R11),R4	; GET CURRENT DOT

                                     07D5 48600 	.ENDC				;

                                     07D5 48640 	CASE	CURTYPE-B(R11),TYPE=B,<-	; SWITCH ON TYPE

                                     07D5 48680 		10$,-			; BYTE

                                     07D5 48720 		20$,-			; WORD

                                     07D5 48760 		30$,-			; LONG

                                     07D5 48800 		>			;

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

                          02'        07D9       

                                     07DA       30008$:

                               0006' 07DA       	.WORD	10$-30008$

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

                               0012' 07DE       	.WORD	30$-30008$

                                     07E0       30009$:

                                     07E0 48840 	.IF	NDF,SW_PROCESS		;

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

                                 05  07E5 48920 	RSB				; RETURN

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

                                 05  07EB 49000 	RSB				; RETURN

         00 BB         E4 AB     D0  07EC 49040 30$:	MOVL	F1-B(R11),@CURDOT-B(R11); STORE LONG

                                 05  07F1 49080 	RSB				; RETURN

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

                                 05  07F6 49160 	RSB

                                     07F7 49200 	.IFF				; FALSE IF PROCESS VERSION

                                     07F7 49240 10$:					; BYTE DEPOSIT

                                     07F7 49280 	MOVL	R4,R5			; START AND END ADDRESSES EQUAL

                                     07F7 49320 	BSBW	SETWRT			; SET WRITABLE, OLD PROT TO R2

                                     07F7 49360 	MOVB	F1-B(R11),(R4)		; STORE BYTE

                                     07F7 49400 	BSBW	REPROT			; RESTORE PROTECTION

                                     07F7 49440 	RSB				;

                                     07F7 49480 

                                     07F7 49520 20$:	ADDL3	#1,R4,R5		; WORD DEPOSIT, FORM END ADDRESS

                                     07F7 49560 	BSBW	SETWRT			; SET WRITABLE

                                     07F7 49600 	MOVW	F1-B(R11),(R4)		; STORE WORD

                                     07F7 49640 	BSBW	REPROT			; RESTORE PROTECTION

                                     07F7 49680 	RSB				;

                                     07F7 49720 

                                     07F7 49760 30$:	ADDL3	#3,R4,R5		; LONGWORD DEPOSIT, FORM END ADDRESS

                                     07F7 49800 	BSBW	SETWRT			; SET WRITABLE

                                     07F7 49840 	MOVL	F1-B(R11),(R4)		; STORE LONG WORD

                                     07F7 49880 	BSBW	REPROT			; RESTORE PROTECTION

                                     07F7 49920 	RSB				;

                                     07F7 49960 

                                     07F7 50000 40$:					; PROCESSOR REGISTER

                                     07F7 50040 	$CMKRNL_S	B^DEPPREG,(AP)	; DEPOSIT IN PROCESSOR REGISTER

                                     07F7 50080 	RSB				;

                                     07F7 50120 

                                     07F7 50160 DEPPREG:.WORD	0			; DEPOSIT INTO PROCESSOR REGISTER

                                     07F7 50200 	MOVAB	W^PREXC,(FP)		; SET EXCEPTION HANDLER

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  41

                DEPOSIT                                                                                                          (1)



                                     07F7 50240 	MTPR	F1-B(R11),CURDOT-B(R11)	; PLACE FIELD VALUE IN REG

                                     07F7 50280 	MOVL	#1,R0			; RETURN SUCESS

                                     07F7 50320 	RET				;

                                     07F7 50360 

                                     07F7 50400 PREXC:	.WORD	0			; PROCESSOR REGISTER EXCEPTION HANDLER

                                     07F7 50440 	ADDL3	#4,8(AP),R1		; POINT TO EXCEPTION FP

                                     07F7 50480 	MOVL	(R1),12(FP)		; SET AS RETURN FP

                                     07F7 50520 	MOVAB	B^10$,16(FP)		; SET RETURN ADDRESS

                                     07F7 50560 10$:	MOVZWL	#1,R0		;SET NORMAL STATUS

                                     07F7 50600 	RET				; AND RETURN

                                     07F7 50640 

                                     07F7 50680 	.ENDC

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  42

                EXECUTE - PERFORM COMMAND STRING                                                                                 (1)



                                     07F7 50760 	.SBTTL	EXECUTE - PERFORM COMMAND STRING

                                     07F7 50800 ;

                                     07F7 50840 ;	EXECUTE

                                     07F7 50880 ;

                                     07F7 50920 EXECUTE:				;

            6A            08     E1  07F7 50960 	BBC	#V_F1,(R10),10$		; EXIT IF NO ADDRESS

                          09         07FA       

            59         E4 AB     D0  07FB 51000 	MOVL	F1-B(R11),R9		; SET CHAR STRING

                          03     12  07FF 51040 	BNEQ	10$			; NOT NULL

                          F99C   31  0801 51080 	BRW	SUPERST			; SUPER RESET

                                 05  0804 51120 10$:	RSB				; RETURN

                                     0805 51160 

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  43

                P - PROCESSOR REGISTER PREFIX                                                                                    (1)



                                     0805 51240 	.SBTTL	P - PROCESSOR REGISTER PREFIX

                                     0805 51280 ;

                                     0805 51320 ;	SET PROCESSOR REGISTER MODE

                                     0805 51360 ;

                                     0805 51400 PREG:					; PROCESSOR REGISTER MODE

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

                          00         0808       

                                 05  0809 51480 10$:	RSB				; RETURN

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  44

                PROCESS DEBUGGER INITIALIZATION                                                                                  (1)



                                     080A 51560 	.SBTTL	PROCESS DEBUGGER INITIALIZATION

                                     080A 51600 

                                     080A 51640 	.IF	DF,SW_PROCESS		;

                                     080A 51680 TEST:					;

                                     080A 51720 XDT$START::				; GLOBAL START ADDRESS FOR CLI DEBUG

                                     080A 51760 	.WORD	0			; ENTRY MASK

                                     080A 51800 	MOVAB	W^CATCHALL,(FP)		; SET CATCHALL EXCEPTION HANDLER

                                     080A 51840 	$DCLEXH_S	EXITBLK		; DECLARE USER MODE EXIT HANDLER

                                     080A 51880 	$CMKRNL_S	B^SETEXC,(AP)	; SET EXCEPTION VECTORS

                                     080A 51920 	$SETEXV_S	ADDRES=W^EXCEPT,-	;

                                     080A 51960 			ACMODE=#3,-	;

                                     080A 52000 			VECTOR=#0	; SET PRIMARY FOR USER

                                     080A 52040 	$SETEXV_S	ADDRES=W^CATCHALL,-	; SET LAST CHANCE HANDLER

                                     080A 52080 			ACMODE=#3,-	; FOR USER MODE

                                     080A 52120 			VECTOR=#2	; SPECIFY LAST CHANCE HANDLER

                                     080A 52160 	$ASSIGN_S	TTNAMD,TTCHAN	; ASSIGN DEVICE

                                     080A 52200 INI$BRK:				;

                                     080A 52240 	BPT				; INITIAL BREAK POINT

                                     080A 52280 	ADDL	#4,4(AP)		; ADVANCE STARTING ADDRESS POINTER

                                     080A 52320 	MOVL	@4(AP),R0		; FETCH CURRENT STARTING ADDRESS

                                     080A 52360 	CALLG	(AP),(R0)		; CALL TARGET PROGRAM

                                     080A 52400 	$EXIT_S	R0			; EXIT

                                     080A 52440 

                                     080A 52480 

                                     080A 52520 SETEXC:	.WORD	0			; ENTRY MASK

                                     080A 52560 	$SETEXV_S	ADDRES=B^EXCEPT,-	;

                                     080A 52600 			PRVHND=KCOND,-	;

                                     080A 52640 			ACMODE=#0	; SET KERNEL

                                     080A 52680 	$SETEXV_S	ADDRES=W^CATCHALL,-	;

                                     080A 52720 			ACMODE=#0,-	; SET KERNEL MODE LAST CHANCE HANDLER

                                     080A 52760 			VECTOR=#2	; SPECIFY LAST CHANCE VECTOR

                                     080A 52800 ;----------------------------------------------------------------------------

                                     080A 52840 	$SETEXV_S	ADDRES=B^EXCEPT,-	;

                                     080A 52880 			PRVHND=ECOND,-	;

                                     080A 52920 			ACMODE=#1	; SET EXEC MODE EXCEPTION HANDLER

                                     080A 52960 	$SETEXV_S	ADDRES=W^CATCHALL,-	;

                                     080A 53000 			ACMODE=#1,-	; SET EXEC MODE LAST CHANCE HANDLER

                                     080A 53040 			VECTOR=#2	; SPECIFY LAST CHANCE VECTOR

                                     080A 53080 ;----------------------------------------------------------------------------

                                     080A 53120 	$SETEXV_S	ADDRES=B^EXCEPT,-	;

                                     080A 53160 			PRVHND=SCOND,-	;

                                     080A 53200 			ACMODE=#2	; SET SUPERVISOR MODE EXCEPTION HANDLER

                                     080A 53240 	$SETEXV_S	ADDRES=W^CATCHALL,-	;

                                     080A 53280 			ACMODE=#2,-	; SET SUPERVISOR LAST CHANCE HANDLER

                                     080A 53320 			VECTOR=#2	; SPECIFY LAST CHANCE VECTOR

                                     080A 53360 	RET				;

                                     080A 53400 

                                     080A 53440 EXCEPT:	.WORD	0			; EXCEPTION HANDLER ENTRY MASK

                                     080A 53480 	$SETEXV_S	ADDRES=B^EXCEPT,-	;

                                     080A 53520 			ACMODE=#3,-	;

                                     080A 53560 			VECTOR=#0	; RE-ESTABLISH USER PRIMARY VECTOR

                                     080A 53600 	ADDL3	#4,4(AP),R0		; GET POINTER TO SIGNAL

                                     080A 53640 	MOVPSL	R1			; GET CURRENT PSL

                                     080A 53680 	EXTZV	#PSL$V_CURMOD,#PSL$S_CURMOD,R1,R1	;

                                     080A 53720 	BBSS	R1,DBGACTIVE,40$	; BR IF ALREADY ACTIVE

                                     080A 53760 	CMPL	#SS$_TBIT,(R0)		; IS IT TBIT?

                                     080A 53800 	BNEQ	10$			; NO,

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  45

                PROCESS DEBUGGER INITIALIZATION                                                                                  (1)



                                     080A 53840 5$:	BRW	XDELTBIT		; YES, A TBIT

                                     080A 53880 10$:	CMPL	#SS$_BREAK,(R0)		; IS IT BREAKPOINT?

                                     080A 53920 	BNEQ	20$			; NO,

                                     080A 53960 15$:	BRW	XDELBPT			; YES, A BREAKPOINT

                                     080A 54000 20$:					; SOME OTHER EXCEPTION

                                     080A 54040 	CMPL	#SS$_UNWINDING,(R0)	; IS IT UNWINDING

                                     080A 54080 	BEQL	60$			; YES

                                     080A 54120 	CMPL	#SS$_COMPAT,(R0)+	; IS IT COMPATIBILITY MODE EXCEPT?

                                     080A 54160 	BNEQ	30$			; NO

                                     080A 54200 	CMPL	#1,(R0)			; IS IT COMPATIBILITY BPT?

                                     080A 54240 	BEQL	15$			; YES

                                     080A 54260 	CMPL	#7,(R0)			; IS IT COMPATIBILITY TBIT?

                                     080A 54270 	BEQL	5$			; YES

                                     080A 54400 30$:	CMPL	#SS$_DEBUG,(R0)		; IS IT DEBUG EXCEPTION?

                                     080A 54440 	BNEQ	40$			; NO,

                                     080A 54480 	BSBW	SAVE			; SAVE EVERYTHING

                                     080A 54520 	BRW	XDELDBG			; AND TREAT AS FUNNY BPT

                                     080A 54560 40$:					; UNEXPECTED EXCEPTION

                                     080A 54600 	BBCC	R1,DBGACTIVE,50$	; CLEAR DEBUG ACTIVE

                                     080A 54640 50$:	CLRL	R0			; RETURN FALSE FOR RESIGNAL

                                     080A 54680 	RET				;

                                     080A 54700 60$:	MOVL	#1,R0			; IGNORE AND RESIGNAL

                                     080A 54710 	RET				;

                                     080A 54720 	.PAGE

                                     080A 54760 	.SBTTL	HANDLER FOR DEBUG EXCEPTIONS

                                     080A 54800 

                                     080A 54840 DBGEXCEP:				;

                                     080A 54880 	.WORD	0			;

                                     080A 54920 	ADDL3	#4,8(AP),R1		; POINT TO EXCEPTION FP

                                     080A 54960 	MOVL	FP,R0			; INIT LINK FOR CALL FRAMES

                                     080A 55000 10$:	CMPL	12(R0),(R1)		; IS THIS THE LAST ONE?

                                     080A 55040 	BEQL	20$			; YES

                                     080A 55080 	MOVAB	B^30$,16(R0)		; SET FOR RETURN

                                     080A 55120 	MOVL	12(R0),R0		;

                                     080A 55160 	BRB	10$			; CONTINUE

                                     080A 55200 20$:	MOVAB	XDELACV,16(R0)		; SET RETURN FOR ERROR

                                     080A 55240 30$:	RET				;

                                     080A 55280 

                                     080A 55320 CATCHALL:				; CATCHALL EXCEPTION HANDLER

                                     080A 55360 	.WORD	0			; ENTRY MASK

                                     080A 55400 	MOVPSL	R1			; GET CURMOD

                                     080A 55440 	EXTZV	#PSL$V_CURMOD,#PSL$S_CURMOD,R1,R1	; ISOLATE CURRENT MODE

                                     080A 55480 	BBCS	R1,DBGACTIVE,10$	; MUST NOT BE DEBUGGER EXCEPTION

                                     080A 55520 	CLRL	R0			; RESIGNAL

                                     080A 55560 	RET				;

                                     080A 55600 10$:	BSBW	SAVE			; SAVE EVERYTHING

                                     080A 55640 	ADDL3	#4,4(AP),R0		; POINT TO EXCEPTION CODE

                                     080A 55680 	MOVL	(R0),R3			; GET IT

                                     080A 55720 	BSBW	CRLF			; OUTPUT CR/LF

                                     080A 55760 	BSBW	OUTLONG			; OUTPUT EXCEPTION CODE

                                     080A 55800 	MOVAB	B^EXCMSG,R4		; OUTPUT MESSAGE

                                     080A 55840 	BSBW	OUTZSTRING		; TEXT FOR EXCEPTION

                                     080A 55880 	BRW	XDELDBG			; AND DISPLAY INSTRUCTION

                                     080A 55920 EXCMSG:	.ASCIZ	/ EXCEPTION /		;

                                     080A 55960 

                                     080A 56000 EXIHANDLE:				; EXIT HANDLER

                                     080A 56040 	.WORD	0			; ENTRY MASK

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  46

                PROCESS DEBUGGER INITIALIZATION                                                                                  (1)



                                     080A 56080 	BITB	#15,DBGACTIVE		; TEST FOR DEBUG ACTIVE IN ANY MODE

                                     080A 56120 	BEQL	10$			; NO, REPORT EXIT

                                     080A 56160 	$CMKRNL_S	CLREXV,(AP)	; RESET EXCEPTION VECTORS

                                     080A 56200 	MOVL	@4(AP),R0		; RESTORE

                                     080A 56240 	RET				; RETURN

                                     080A 56280 10$:					; PROGRAM EXIT

                                     080A 56320 	MOVPSL	-(SP)			; BUILD EXCEPTION FRAME

                                     080A 56360 	PUSHL	16(FP)			;

                                     080A 56400 	PUSHL	@4(AP)			; EXIT CODE FOR EXCEPTION CODE

                                     080A 56440 	PUSHL	#3			; ARG COUNT

                                     080A 56480 	PUSHR	#^M<R0,R1>		;

                                     080A 56520 	MOVQ	AP,-(SP)		;

                                     080A 56560 	PUSHL	#4			; MECHANISM COUNT

                                     080A 56600 	PUSHL	SP			; POINTER TO MECHANISM

                                     080A 56640 	PUSHAL	24(SP)			; POINTER TO SIGNAL

                                     080A 56680 	PUSHL	#2			;

                                     080A 56720 	MOVL	SP,AP			; SET AP FOR EXCEPTION

                                     080A 56760 	BSBW	SAVE			; SAVE EVERYTHING

                                     080A 56800 	MOVAB	B^EXIMSG,R4		; DISPLAY EXIT MESSAGE

                                     080A 56840 	BSBW	OUTZSTRING		; OUTPUT TEXT

                                     080A 56880 	MOVL	SAVAP-B(R11),R3		; GET POINTER TO EXCEPTION ARGLIST

                                     080A 56920 	MOVL	4(R3),R3		; GET EXIT CODE ADDRESS

                                     080A 56960 	BSBW	OUTLONG			; DISPLAY IT

                                     080A 57000 	$DCLEXH_S	EXITBLK		; RE-ESTABLISH EXIT HANDLER

                                     080A 57040 	MOVPSL	R1			; GET CURRENT PSL

                                     080A 57080 	EXTZV	#PSL$V_CURMOD,#PSL$S_CURMOD,R1,R1 ; GET CURRENT MODE

                                     080A 57120 	BBSS	R1,DBGACTIVE,20$	; SET DELTA ACTIVE FOR MODE

                                     080A 57160 20$:	BRW	XDELDBG			;

                                     080A 57200 

                                     080A 57240 EXIMSG:	.ASCIZ	<CR><LF>/ EXIT /	;

                                     080A 57280 

                                     080A 57320 CLREXV:					; CLR EXCEPTION VECTORS

                                     080A 57360 	.WORD	0			; ENTRY MASK

                                     080A 57400 	$SETEXV_S	ADDRES=@KCOND,-	;

                                     080A 57440 			ACMODE=#0	;

                                     080A 57480 	$SETEXV_S	ADDRES=@ECOND,-	;

                                     080A 57520 			ACMODE=#1	;

                                     080A 57560 	$SETEXV_S	ADDRES=@SCOND,-	;

                                     080A 57600 			ACMODE=#2	;

                                     080A 57640 	RET				;

                                     080A 57680 

                                     080A 57720 	.PAGE

                                     080A 57760 	.SBTTL	SETWRT - SET PAGES WRITABLE

                                     080A 57800 

                                     080A 57840 SETWRT:					;

                                     080A 57880 	MOVAL	-(SP),R2		; ADDRESS FOR RETURN OF PROT

                                     080A 57920 	$CMKRNL_S	B^SETPRTK,(R2)	;

                                     080A 57960 	BLBS	R0,10$			; CONTINUE IF NO ERROR

                                     080A 58000 	CALLG	(R2),B^SETPRTK		;

                                     080A 58040 10$:	POPR	#^M<R2>			; RESTORE PROTECTION VALUE

                                     080A 58080 	RSB				; RETURN

                                     080A 58120 

                                     080A 58160 SETPRTK:.WORD	0			;

                                     080A 58200 	MOVQ	R5,-(SP)		; INADR, START AND END ADDRESSES

                                     080A 58240 	MOVL	SP,R1			; ADDRESS OF INADR

                                     080A 58280 	$SETPRT_S	INADR=(R1),-	;

                                     080A 58320 			PROT=#PRT$C_UW,-; WRITABLE BY ALL

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  47

                PROCESS DEBUGGER INITIALIZATION                                                                                  (1)



                                     080A 58360 			ACMODE=#0,-	;

                                     080A 58400 			PRVPRT=(AP)	; ADDRESS AT WHICH TO RETURN PROT

                                     080A 58440 	MOVL	#1,R0			; ALWAYS SUCCESS

                                     080A 58480 	RET				;

                                     080A 58520 

                                     080A 58560 REPROT:					; RESTORE PROTECTION

                                     080A 58600 	RSB				; 

                                     080A 58640 	.ENDC				;

                                     080A   100 ;

                                     080A   200 ;	NORMAL END STATEMENT WITHOUT START ADDRESS

                                     080A   300 ;	USED TO ASSEMBLE XDELTA FOR EXEC DEBUGGING.

                                     080A   400 ;

                                     080A   500 	.END

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  48

SYMBOL TABLE                                                                                                                     (1)



ADD              00000243 R     03   INBUF            00000004 R     03   PR$_ASTLVL     = 00000013            

ASTEN            000000B4 R     03   INFLD            000001FF R     03   PR$_ESP        = 00000001            

B                00000054 R     03   INI$BRK          ********   X   03   PR$_ICCS       = 00000018            

BIT...         = 00000000            INI$RDONLY       ********   X   03   PR$_ICR        = 0000001A            

BLANK            0000042A R     03   INI$WRITABLE     ********   X   03   PR$_IPL        = 00000012            

BMSG             000006CA R     03   LBRACKET         000004AB R     03   PR$_ISP        = 00000004            

BRKADR         = 000000B4 R     03   LF             = 0000000A            PR$_KSP        = 00000000            

BRKCOM         = 000000FC R     03   LINEFEED         000002EB R     03   PR$_MAPEN      = 00000038            

BRKDSP         = 000000DC R     03   LOCOUT           000002F2 R     03   PR$_NICR       = 00000019            

BRKOP          = 000000D7 R     03   LOCP             0000045E R     03   PR$_P0BR       = 00000008            

BRKPOINT         000004D0 R     03   LOCPROMPT        000002F0 R     03   PR$_P0LR       = 00000009            

BSLSH          = 0000005C            MASK             0000004C R     03   PR$_P1BR       = 0000000A            

CA$_MEASURE    = 00000002            MASKS            00000578 R     03   PR$_P1LR       = 0000000B            

CA$_MEASURE_IOT= 00000004            MCHK             000005E0 R     03   PR$_PCBB       = 00000010            

CA$_SIMULATOR  = 00000001            MCHKSAV          00000160 R     03   PR$_PME        = 0000003D            

COMMA            00000294 R     03   MMG$PAGEFAULT    ********   X   03   PR$_RXCS       = 00000020            

CONTEXT          00000000 R     03   MODES            000004A7 R     03   PR$_RXDB       = 00000021            

CONTEXTSZ      = 000000B8            MUL              0000023B R     03   PR$_SBIER      = 00000034            

CR             = 0000000D            NBRK           = 00000008            PR$_SBIFS      = 00000030            

CRLF             000003AD R     03   NEGATE           00000433 R     03   PR$_SBIMT      = 00000033            

CURDOT           00000054 R     03   NEXTDOT          000002D8 R     03   PR$_SBIQC      = 00000036            

CURTYPE          00000052 R     03   NEXTLOC          000002EE R     03   PR$_SBIS       = 00000031            

DCOM             00000195 R     03   NEXTP            000001B0 R     03   PR$_SBISC      = 00000032            

DEPOSIT          000007D1 R     03   NMODES         = 00000004            PR$_SBITA      = 00000035            

DIV              0000023F R     03   NPRIM          = 00000029            PR$_SBR        = 0000000C            

DOT              0000057E R     03   NSEC           = 00000007            PR$_SCBB       = 00000011            

DQUOTE           00000247 R     03   NTERM          = 00000008            PR$_SID        = 0000003E            

DTYPE            00000051 R     03   OPEN             0000024F R     03   PR$_SIRR       = 00000014            

ENDEXPR          00000218 R     03   OPER             00000053 R     03   PR$_SISR       = 00000015            

ENDFIELD         00000297 R     03   OPERATOR         0000042A R     03   PR$_SLR        = 0000000D            

EQL1             00000468 R     03   OPERBAS        = 00000012            PR$_SSP        = 00000002            

EQUALS           00000461 R     03   OUTB           = 00000006            PR$_TBIA       = 00000039            

ERR2             000004A4 R     03   OUTBB            000002E8 R     03   PR$_TBIS       = 0000003A            

ERR3             000005E7 R     03   OUTBSLSH         00000381 R     03   PR$_TODR       = 0000001B            

ERR4             0000027A R     03   OUTBUF           0000005C R     03   PR$_TXCS       = 00000022            

ERROR            00000199 R     03   OUTCHAR          0000038A R     03   PR$_TXDB       = 00000023            

ESCAP            0000044F R     03   OUTCOM           0000035D R     03   PR$_USP        = 00000003            

EXE$ACVIOLAT     ********   X   03   OUTCR          = 00000004            PR$_WCSA       = 0000002C            

EXE$BREAK        ********   X   03   OUTDIGIT         00000356 R     03   PR$_WCSD       = 0000002D            

EXE$MCHKVEC      ********   X   03   OUTER            0000018D R     03   PRE1             00000210 R     03   

EXE$ROPRAND      ********   X   03   OUTLONG          0000035A R     03   PREG             00000805 R     03   

EXE$TBIT         ********   X   03   OUTPUT           000002F7 R     03   PRIMARY          00000164 R     03   

EXECUTE          000007F7 R     03   OUTPUTA          0000031D R     03   PROCED           00000577 R     03   

F1               00000038 R     03   OUTR8            00000387 R     03   PROCEED          00000730 R     03   

F2               0000003C R     03   OUTSPACE         000003A8 R     03   PROGCTR          00000591 R     03   

F3               00000040 R     03   OUTZBUF          00000373 R     03   PRT$C_ER       = 00000007            

F4               00000044 R     03   OUTZSTRING       00000377 R     03   PRT$C_ERKW     = 00000006            

F5               00000048 R     03   PFN$AB_STATE     ********   X   03   PRT$C_EW       = 00000005            

FCTR             00000050 R     03   PFN$AB_TYPE      ********   X   03   PRT$C_KR       = 00000003            

FETCH            000002B2 R     03   PFN$AL_BAK       ********   X   03   PRT$C_KW       = 00000002            

GBL...         = 00000000            PFN$AL_PTE       ********   X   03   PRT$C_NA       = 00000000            

GETBPTX          000007AD R     03   PFN$AW_BLINK     ********   X   03   PRT$C_RESERVED = 00000001            

GETCHAR          000003B7 R     03   PFN$AW_FLINK     ********   X   03   PRT$C_SR       = 0000000B            

GETCMD           0000072B R     03   PFN$AW_REFCNT    ********   X   03   PRT$C_SREW     = 00000009            

GLOBL            00000203 R     03   PFN$AW_SWPVBN    ********   X   03   PRT$C_SRKW     = 0000000A            

GO               0000056E R     03   PR$_ACCR       = 00000029            PRT$C_SW       = 00000008            

HIGH             00000209 R     03   PR$_ACCS       = 00000028            PRT$C_UR       = 0000000F            

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  49

SYMBOL TABLE                                                                                                                     (1)



PRT$C_UREW     = 0000000D            SAVSP            000000A4 R     03   SS$_DEVNOTMBX  = 00000074            

PRT$C_URKW     = 0000000E            SCANP            000001AC R     03   SS$_DEVNOTMOUNT= 0000007C            

PRT$C_URSW     = 0000000C            SCH$GL_CURPCB    ********   X   03   SS$_DEVOFFLINE = 00000084            

PRT$C_UW       = 00000004            SCH$GL_PCBVEC    ********   X   03   SS$_DIRFULL    = 00000860            

PSL$C_EXEC     = 00000001            SECOND           0000047D R     03   SS$_DRVERR     = 0000008C            

PSL$C_KERNEL   = 00000000            SEMI             00000484 R     03   SS$_DUPFILENAME= 00000868            

PSL$C_SUPER    = 00000002            SETBRK           0000078A R     03   SS$_DUPLNAM    = 00000094            

PSL$C_USER     = 00000003            SHFT             00000236 R     03   SS$_ENDOFFILE  = 00000870            

PSL$M_CM       = 80000000            SHOBRK           0000052C R     03   SS$_ENDOFTAPE  = 00000878            

PSL$M_CURMOD   = 03000000            SLASH            0000024C R     03   SS$_ENDOFUSRLBL= 00000970            

PSL$M_DV       = 00000080            SLSH           = 0000002F            SS$_EXQUOTA    = 0000001C            

PSL$M_FPD      = 08000000            SS$_ABORT      = 0000002C            SS$_EXTIDXFILE = 00000880            

PSL$M_FU       = 00000040            SS$_ACCONFLICT = 00000800            SS$_FCPREADERR = 00000888            

PSL$M_IPL      = 001F0000            SS$_ACCVIO     = 0000000C            SS$_FCPREPSTN  = 00000988            

PSL$M_IS       = 04000000            SS$_ACPVAFUL   = 000002FC            SS$_FCPREWNDERR= 00000890            

PSL$M_IV       = 00000020            SS$_ARTRES     = 00000474            SS$_FCPSPACERR = 00000898            

PSL$M_PRVMOD   = 00C00000            SS$_ASTFLT     = 0000040C            SS$_FCPWRITERR = 000008A0            

PSL$M_SAFBITS  = 000037FF            SS$_BADATTRIB  = 00000034            SS$_FILACCERR  = 0000009C            

PSL$M_TBIT     = 00000010            SS$_BADCHKSUM  = 00000808            SS$_FILALRACC  = 000000A4            

PSL$M_TP       = 40000000            SS$_BADESCAPE  = 0000003C            SS$_FILELOCKED = 000008A8            

PSL$S_CURMOD   = 00000002            SS$_BADFILEHDR = 00000810            SS$_FILENUMCHK = 000008B0            

PSL$S_IPL      = 00000005            SS$_BADFILENAME= 00000818            SS$_FILESEQCHK = 000008B8            

PSL$S_PRVMOD   = 00000002            SS$_BADFILEVER = 00000820            SS$_FILESTRUCT = 000008C0            

PSL$V_CM       = 0000001F            SS$_BADIMGHDR  = 00000044            SS$_FILNOTACC  = 000000AC            

PSL$V_CURMOD   = 00000018            SS$_BADIRECTORY= 00000828            SS$_FILNOTCNTG = 000002AC            

PSL$V_DV       = 00000007            SS$_BADPARAM   = 00000014            SS$_FILNOTEXP  = 000000B4            

PSL$V_FPD      = 0000001B            SS$_BADSTACK   = 000002B4            SS$_FLTDIV     = 00000494            

PSL$V_FU       = 00000006            SS$_BEGOFFILE  = 00000938            SS$_FLTOVF     = 0000048C            

PSL$V_IPL      = 00000010            SS$_BLOCKCNTERR= 00000940            SS$_FLTUND     = 0000049C            

PSL$V_IS       = 0000001A            SS$_BREAK      = 00000414            SS$_FORMAT     = 000000BC            

PSL$V_IV       = 00000005            SS$_BUFBYTALI  = 0000030C            SS$_GPTFULL    = 000000C4            

PSL$V_PRVMOD   = 00000016            SS$_BUFFEROVF  = 00000601            SS$_GSDFULL    = 000000CC            

PSL$V_TBIT     = 00000004            SS$_BUGCHECK   = 000002A4            SS$_HANGUP     = 000002CC            

PSL$V_TP       = 0000001E            SS$_CANCEL     = 00000830            SS$_HEADERFULL = 000008C8            

QUAN             00000058 R     03   SS$_CHANINTLK  = 0000004C            SS$_IDXFILEFULL= 000008D0            

QUANT            0000058B R     03   SS$_CLIFRCEXT  = 00000980            SS$_ILLBLKNUM  = 000000DC            

QUOT           = 00000027            SS$_CMODSUPR   = 0000041C            SS$_ILLCNTRFUNC= 000000E4            

QUOTE            000007BD R     03   SS$_CMODUSER   = 00000424            SS$_ILLEFC     = 000000EC            

RDBUF          = 00000002            SS$_COMPAT     = 0000042C            SS$_ILLIOFUNC  = 000000F4            

RDCR           = 00000000            SS$_CONTINUE   = 00000001            SS$_ILLLBLAST  = 00000968            

REGCOM           000005AB R     03   SS$_CONTROLC   = 00000651            SS$_ILLPAGCNT  = 000000FC            

REGISTER         000005A3 R     03   SS$_CONTROLO   = 00000609            SS$_ILLSEQOP   = 000002DC            

RESET            00000470 R     03   SS$_CONTROLY   = 00000611            SS$_ILLSER     = 00000104            

RESTORE          00000667 R     03   SS$_CREATED    = 00000619            SS$_ILLUSRLBLRD= 00000958            

RESTORR          0000066C R     03   SS$_CTRLERR    = 00000054            SS$_ILLUSRLBLWT= 00000960            

RETURN           0000027D R     03   SS$_DATACHECK  = 0000005C            SS$_INCVOLLABEL= 0000010C            

RSET             0000028A R     03   SS$_DATAOVERUN = 00000838            SS$_INSFARG    = 00000114            

RUBOUT         = 0000007F            SS$_DEBUG      = 0000046C            SS$_INSFMEM    = 00000124            

SAVAP            0000009C R     03   SS$_DECOVF     = 000004A4            SS$_INSFRAME   = 0000012C            

SAVE             000005EA R     03   SS$_DEVACTIVE  = 000002C4            SS$_INSFWSL    = 0000011C            

SAVOCR           000000B0 R     03   SS$_DEVALLOC   = 00000840            SS$_INTDIV     = 00000484            

SAVPC            000000A8 R     03   SS$_DEVALRALLOC= 00000641            SS$_INTOVF     = 0000047C            

SAVPSL           000000AC R     03   SS$_DEVASSIGN  = 00000848            SS$_IVADDR     = 00000134            

SAVR2            00000074 R     03   SS$_DEVFOREIGN = 00000064            SS$_IVCHAN     = 0000013C            

SAVRCR           000000B2 R     03   SS$_DEVICEFULL = 00000850            SS$_IVCHNLSEC  = 0000026C            

SAVREG           0000006C R     03   SS$_DEVMOUNT   = 0000006C            SS$_IVDEVNAM   = 00000144            

SAVRXCS          000000B4 R     03   SS$_DEVNOTALLOC= 00000858            SS$_IVGSDNAM   = 0000014C            

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   VAX-11 MACRO X0.3-11               Page  50

SYMBOL TABLE                                                                                                                     (1)



SS$_IVLOGNAM   = 00000154            SS$_RADRMOD    = 0000044C            XDS$INIT         ********   X   03   

SS$_IVLOGTAB   = 0000015C            SS$_REJECT     = 00000294            XREG             000005D1 R     03   

SS$_IVPROTECT  = 000002F4            SS$_REMOTE     = 00000649            XREGV            00000120 R     03   

SS$_IVQUOTAL   = 00000164            SS$_RESIGNAL   = 00000918            XSET             000005BF R     03   

SS$_IVSECFLG   = 0000016C            SS$_RESULTOVF  = 00000214            

SS$_IVSECIDCTL = 000002E4            SS$_ROPRAND    = 00000454            

SS$_IVSSRQ     = 00000174            SS$_SECTBLFUL  = 0000021C            

SS$_IVSTSFLG   = 0000017C            SS$_SSFAIL     = 0000045C            

SS$_IVTIME     = 00000184            SS$_SUBRNG     = 000004AC            

SS$_LCKPAGFUL  = 000000D4            SS$_SUPERSEDE  = 00000631            

SS$_LENVIO     = 0000018C            SS$_TAPEPOSLOST= 00000224            

SS$_LKWSETFUL  = 00000194            SS$_TBIT       = 00000464            

SS$_MBFULL     = 000008D8            SS$_TIMEOUT    = 0000022C            

SS$_MBTOOSML   = 0000019C            SS$_TOOMANYVER = 00000990            

SS$_MCHECK     = 000002BC            SS$_TOOMUCHDATA= 0000029C            

SS$_MEDOFL     = 000001A4            SS$_UNASEFC    = 00000234            

SS$_MSGNOTFND  = 00000621            SS$_UNSAFE     = 0000023C            

SS$_MTLBLLONG  = 00000304            SS$_UNWIND     = 00000920            

SS$_MUSTCLOSEFL= 00000948            SS$_UNWINDING  = 00000928            

SS$_NOAQB      = 00000314            SS$_VASFULL    = 00000244            

SS$_NODATA     = 000001AC            SS$_VECINUSE   = 0000024C            

SS$_NOHANDLER  = 000008F8            SS$_VOLINV     = 00000254            

SS$_NOHOMEBLK  = 000008E0            SS$_WAITUSRLBL = 00000950            

SS$_NOIOCHAN   = 000001B4            SS$_WASCLR     = 00000001            

SS$_NOLINKS    = 0000027C            SS$_WASECC     = 00000639            

SS$_NOLOGNAM   = 000001BC            SS$_WASSET     = 00000009            

SS$_NOMBX      = 00000274            SS$_WRITLCK    = 0000025C            

SS$_NOMOREFILES= 00000930            SS$_WRONGACP   = 0000031C            

SS$_NONEXDRV   = 000001C4            STATUS           00000034 R     03   

SS$_NONEXPR    = 000008E8            STEP             000004C6 R     03   

SS$_NONLOCAL   = 000008F0            SUPERST          000001A0 R     03   

SS$_NOPRIV     = 00000024            TAB              0000043F R     03   

SS$_NORMAL     = 00000001            TERM             0000017D R     03   

SS$_NOSIGNAL   = 00000900            UNBRK            00000775 R     03   

SS$_NOSOLICIT  = 00000284            VALI             000005A0 R     03   

SS$_NOSUCHDEV  = 00000908            VALR             0000059D R     03   

SS$_NOSUCHFILE = 00000910            VALUE            00000595 R     03   

SS$_NOSUCHNODE = 0000028C            V_ASCII        = 00000001            

SS$_NOSUCHSEC  = 00000978            V_ATBRK        = 00000004            

SS$_NOTAPEOP   = 00000264            V_F1           = 00000008            

SS$_NOTFILEDEV = 000001CC            V_F2           = 00000009            

SS$_NOTINTBLSZ = 000001D4            V_F3           = 0000000A            

SS$_NOTLABELMT = 000001DC            V_F4           = 0000000B            

SS$_NOTMODIFIED= 00000659            V_F5           = 0000000C            

SS$_NOTNETDEV  = 000002EC            V_INFIELD      = 00000002            

SS$_NOTRAN     = 00000629            V_NEGATE       = 00000007            

SS$_NOTSQDEV   = 000001E4            V_OPEN         = 00000000            

SS$_OPCCUS     = 00000434            V_PREG         = 0000001F            

SS$_OPCDEC     = 0000043C            V_PRMODE       = 0000000F            

SS$_OPINCOMPL  = 000002D4            V_RUB          = 00000006            

SS$_PAGOWNVIO  = 000001EC            V_TBIT         = 00000003            

SS$_PAGRDERR   = 00000444            V_TBITOK       = 00000005            

SS$_PARITY     = 000001F4            XDELACV          000005E0 R     03   

SS$_PARTESCAPE = 000001FC            XDELBPT          000006D4 RG    03   

SS$_PFMBSY     = 00000204            XDELDBG          0000075B R     03   

SS$_PLHLDR     = 00000404            XDELIBRK         000000B8 RG    03   

SS$_PSTFULL    = 0000020C            XDELTBIT         00000744 RG    03   

XDELTA          - EXECUTIVE DEBUGGER                             21-AUG-1978 21:10:06   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  

Z$DEBUGXDELTA    0000080A      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT LONG  





THERE WERE NO ERRORS OR WARNINGS.

16100. BYTES LEFT IN FREE MEMORY POOL.

36. BYTES OF RECLAIMED MEMORY.

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

4 MLB DIR RDS - 466 GETS TO DEFINE 17 MACROS. 96 INTER. FILE WRITES. 

