

; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 1

; Digital Equipment Corporation

;

;	0001	MODULE DBGMOD ( ADDRESSING_MODE (EXTERNAL = LONG_RELATIVE),

;	0002			IDENT = '000036') =

;	0003	BEGIN

;	0004	

;	0005	! Copyright (C) 1976

;	0006	! Digital Equipment Corporation, Maynard, Massachusetts 01754

;	0007	!

;	0008	! This software is furnished under a license for use only on a

;	0009	! single computer system and may be copied only with the inclusion

;	0010	! of the above copyright notice. This software, or any

;	0011	! other copies thereof, may not be provided or otherwise made

;	0012	! available to any other person except for use on such system

;	0013	! and to one who agrees to these license terms. Title to and

;	0014	! ownership of the software shall at all times remain in DEC.

;	0015	!

;	0016	! The information in this software is subject to change without

;	0017	! notice and should not be construed as a commitment by Digital

;	0018	! Equipment Corporation.

;	0019	!

;	0020	! DEC assumes no responsibility for the use or reliability of

;	0021	! its software on equipment which is not supplied by DEC.

;	0022	!

;	0023	! FACILITY:	DEBUG

;	0024	!

;	0025	!++

;	0026	! FUNCTIONAL DESCRIPTION:

;	0027	!

;	0028	! ABSTRACT:

;	0029	!

;	0030	! Version:	36

;	0031	!

;	0032	! History:

;	0033	!	Author:

;	0034	!		Carol Peters, 03 Jul 1976: Version 01

;	0035	!

;	0036	!	Modified by:

;	0037	!		Dale Roedger, 13-JULY-78: Version 36

;	0038	!

;	0039	! Revision history:

;	0040	!	09	15-03-77	CP	put fixed ASCII strings in FAO control strings.

;	0041	!

;	0042	!	10	22-03-77	KGP	ADDED A FEW MORE COUNTED STRINGS

;	0043	!					AND OTHER CLUDGES FOR /MACHINE

;	0044	!					DATA MODE.  THIS SHOULD ALL BE CHANGED.

;	0045	!	11	24-03-77	KGP	-INCORPORATED %ASCIC NOW INSTEAD OF

;	0046	!					COUNTED_STRING, AND BEGAN PUTTING

;	0047	!					IN CHANGES FOR NEW OUTPUT/INPUT MODES.

;	0048	!	12	25-MAR-77	KGP	-ADDED LOCAL ROUTINE PUT_DEFAL

;	0049	!					AND CHANGED DBG$SHOW_DEFAL TO CALL IT

;	0050	!					INSTEAD OF ADDING MORE IN-LINE 

;	0051	!					DUPLICATED CODE.

;	0052	!	13	28-MAR-77	KGP	-CHANGED DBG$SET_MOD_LST SO THAT

;	0053	!					IT CALLS DBG$SET_NEW_MOD PROPERLY NOW

;	0054	!					THAT WE HAVE A COMMON ROUTINE FOR

;	0055	!					INPUT/OUTPUT MODE SETTING.



; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 1-1

; Digital Equipment Corporation

;

;	0056	!	14	29-MAR-77	KGP	-BEGAN PUTTING IN CODE FOR NEW SINGLE

;	0057	!					MODE SETTING.  IE, THIS IS WHERE WE

;	0058	!					THREW OUT THE INPUT/OUTPUT CONCEPT.

;	0059	!	15	30-MAR-77	KGP	-ADDED ROUTINE SET_NEW_MODE, HAVING

;	0060	!					 TAKEN IT FROM DBGMDS.B32 WHICH

;	0061	!					 IS NOW DEFUNCT.  THIS WAS SO THAT IT

;	0062	!					 WOULD NOT HAVE TO BE GLOBAL.

;	0063	!					-ALSO CHANGED ALL REFERENCES TO ADR/DAT

;	0064	!					VARIABLES AND SYMBOLS TO USE THE NEW

;	0065	!					ONES.

;	0066	!	16	31-03-77	CP	deleted ANALOPT, ANAMOPT, AOVROPT, 

;	0067	!					and AOVROPL. made SET_OVERS a global routine

;	0068	!					and moved it into DBGACT.

;	0069	!					deleted ASETDEF, halved SET_MOD_LST.

;	0070	!					made SET_NEW_MOD a global routine.

;	0071	!					simplified SHOW_DEFAL by ignoring enable bits.

;	0072	!	17	01-04-77	CP	moved SET_MOD_LVL into this module.

;	0073	!					this eliminates DBGLVL from DEBUG.

;	0074	!					rewrote routine to be simpler

;	0075	!					and to remove reference to enable bits.

;	0076	!	18	20-04-77	CP	Change VAXDEB.BEG to be named

;	0077	!					DBGGEN.BEG. Also, add DBGPCT.BEG

;	0078	!					for PSECT declarations.

;	0079	!	19	21-04-77	CP	Change MACHINE to INSTRUCTION.

;	0080	!	20	22-04-77	CP	Move definitions of token names

;	0081	!					into MARTOK.BEG.

;	0082	!	21	25-04-77	CP	Order routines in module

;	0083	!					alphabetically. Also, remove

;	0084	!					reporting of SYMBOLIC versus

;	0085	!					NOSYMBOLIC mode for now since

;	0086	!					it is not supported.

;	0087	!	22	26-04-77	CP	Add diagnostics. Improve

;	0088	!					comments. Shorten SET_NEW_LVL.

;	0089	!					Add another argument (SOURCE_LEVEL)

;	0090	!					to INIT_MODES. Thus instead of

;	0091	!					initializing all mode settings

;	0092	!					to their values at start up, the

;	0093	!					mode settings are set to the

;	0094	!					same settings as the source level.

;	0095	!					Change routine RESET_DEF to set

;	0096	!					defaults up and then call

;	0097	!					INIT_MODES to copy those defaults

;	0098	!					to all other levels.

;	0099	!	23	03-05-77	CP	Change show typeout from

;	0100	!					non-instruction and non-ascii

;	0101	!					to noinstruction and noascii.

;	0102	!	24	12-08-77	CP	Change MARTOK declaration to use

;	0103	!					new MARTOK file. In dbg$reset_def,

;	0104	!					initialize SCOPE mode to true

;	0105	!					and GLOBALS mode to false.

;	0106	!					This is for RST processing.

;	0107	!					Also, set these global and scope

;	0108	!					modes in init_modes, set_mod_lvl,

;	0109	!					and show_defal. Recode set_new_mod

;	0110	!					to make it PIC code.



; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 1-2

; Digital Equipment Corporation

;

;	0111	!	25	20-09-77	CP	Add setting of mode_fortran.

;	0112	!	26	28-10-77	CP	Display setting of mode_symbolic

;	0113	!					in SHOW MODES.

;	0114	!	27	07-11-77	CP	Change names of all context bits.

;	0115	!	28	28-12-77	CP	Redefine grammar tokens.

;	0116	!	29	05-JAN-78	DAR	Changed require file MARTOK.BEG to

;	0117	!					COMTER.BEG, also changed token names

;	0118	!					to the corresponding names in COMTER.BEG

;	0119	!	30	25-apr-78	KGP	-Temporary addition to reset_def so that

;	0120	!					 the STEP modes get set OK.

;	0121	!	31	27-APR-78	DAR	Modified require and library directives

;	0122	!					for the native build.

;	0123	!	32	1-MAY-78	MCC	Added routines for STEP functionality.

;	0124	!	33	15-may-78	KGP	-Replaced SHOW_STEP with the original

;	0125	!					 one which is shorter and works from

;	0126	!					 the currently-set STEP level.

;	0127	!					-Strings which are used only by SHOW_STEP

;	0128	!					 are now LOCAL to it.

;	0129	!	34	25-MAY-78	DAR	Added the value "literal_mode" to the

;	0130	!					field "mode_fortran" to be set whenever

;	0131	!					"literal_token" is found.

;	0132	!					Changed DBG$SHOW_MODE to work from

;	0133	!					the current mode level.

;	0134	!	35	05-JUL-78	DAR	Changed the text for show mode to match

;	0135	!					the keywords.

;	0136	!	36	13-JUL-78	DAR	Removed address_mode from the mode_table

;	0137	!--



; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 2

; Digital Equipment Corporation

;

;	0138	! TABLE OF CONTENTS:

;	0139	!

;	0140	FORWARD ROUTINE

;	0141		dbg$init_modes: NOVALUE,		! SETS MODES TO A SPECIFIED level

;	0142		dbg$set_mod_def: NOVALUE,			! SETS DEFAULT MODES TO INITIALIZATION values

;	0143		dbg$set_mod_lst: NOVALUE,		! SETS A LIST OF MODES

;	0144		dbg$set_mod_lvl: NOVALUE,		! SETS level OF MODES

;	0145		dbg$set_new_mod: NOVALUE,		! SETS A NEW MODE

;	0146		dbg$show_mode: NOVALUE,			! ACTION ROUTINE TO SHOW DEFAULT modes

;	0147		dbg$init_step: NOVALUE,			! SETS step LEVELS AS SPECIFIED

;	0148		dbg$set_stp_def: NOVALUE,		! RESETS step LEVELS TO INITIALIZATION VALUES

;	0149		dbg$set_stp_lst: NOVALUE,		! SETS A LIST OF steps

;	0150		dbg$set_stp_lvl: NOVALUE,		! SETS level OF step

;	0151		dbg$set_new_stp: NOVALUE,		! SETS A NEW step VALUE

;	0152		dbg$show_step: NOVALUE;			! ACTION ROUTINE TO SHOW step

;	0153	

;	0154	!

;	0155	! REQUIRE FILES:

;	0156	!

;	0157	%IF %VARIANT		! True for TEN.

;     L 0158	%THEN

;     U 0159	LIBRARY 'NEW:STARLE';

;     U 0160	

;     U 0161	REQUIRE 'DBGPCT.REQ';

;     U 0162	REQUIRE 'DBGGEN.REQ';

;     U 0163	REQUIRE 'VXSMAC.REQ';

;     U 0164	REQUIRE 'COMTER.REQ';

;     U 0165	REQUIRE 'DBGMSG.REQ';

;     U 0166	REQUIRE 'BSTRUC.REQ';

;     U 0167	REQUIRE 'LISTEL.REQ';

;     U 0168	REQUIRE 'SYSSER.REQ';

;     U 0169	%ELSE

;	0170	LIBRARY 'SYS$LIBRARY:STARLET.L32';

;	0171	

;	0172	REQUIRE 'SRC$:DBGPCT.REQ';

;	0184	REQUIRE 'SRC$:DBGGEN.REQ';

;	0434	REQUIRE 'SRC$:VXSMAC.REQ';

;	0474	REQUIRE 'SRC$:COMTER.REQ';

;	0566	REQUIRE 'LIB$:DBGMSG.REQ';

;	0845	REQUIRE 'SRC$:BSTRUC.REQ';

;	0896	REQUIRE 'SRC$:LISTEL.REQ';

;	0930	REQUIRE 'SRC$:SYSSER.REQ';

;      R0933	SWITCHES LIST (SOURCE);

;      R0934	

;      R0935	EXTERNAL ROUTINE

;      R0936		dbg$fao_out;				! formats a line and outputs to the terminal

;      R0937	

;      R0938	SWITCHES LIST (NOSOURCE);

;	0983	%FI

;	0984	

;	0985	

;	0986	EXTERNAL

;	0987		dbg$gb_def_stp: VECTOR [, BYTE],	! BLOCK FOR Step types

;	0988		dbg$gb_stp_ptr: REF VECTOR [, BYTE],	! pointer TO Step types

;	0989		dbg$gb_def_mod: VECTOR [, BYTE],	! BLOCK FOR MODES



; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 2-1

; Digital Equipment Corporation

;

;	0990		dbg$gb_mod_ptr: REF VECTOR [, BYTE],	! pointer TO MODES

;	0991		dbg$gl_context : BITVECTOR,		! CONTEXT WORD

;	0992		dbg$gl_head_lst,			! HEAD OF ARGUMENT LIST

;	0993		dbg$gb_language: BYTE;			! contains index to current language

;	0994	

;	0995	LITERAL

;	0996		dbg_mod		= 0,			! DEBUGGING AID FOR mode

;	0997		dbg_mod1	= 0;			! DEBUGGING AID FOR step

;	0998	

;	0999	!++

;	1000	! The following table holds the valid mode settings and values

;	1001	! relevant to them. Each entry in the table is three bytes long.

;	1002	! The entry has three fields, each of them one byte

;	1003	! long.

;	1004	!

;	1005	!	-------------------------------

;	1006	!	!  value  !  offset ! keyword !

;	1007	!	-------------------------------

;	1008	!

;	1009	! The keyword field holds the token value that represents the particular

;	1010	! mode, e.g., byte_token indicates that the mode is BYTE.

;	1011	! The offset field holds the location of the mode setting in any of

;	1012	! the mode levels.

;	1013	! The value field holds the value that represents a particular mode

;	1014	! to DEBUG in an internal sense.

;	1015	!

;	1016	LITERAL

;	1017		keyword_field	= 0,

;	1018		offset_field	= 1,

;	1019		value_field	= 2,

;	1020		mode_entry_len	= 3,

;	1021		step_entry_len  = 3;

;	1022	

;	1023	BIND

;	1024		mode_table	= UPLIT BYTE (

;	1025	

;	1026		byte_token,	mode_length,	byte_length,

;	1027		word_token,	mode_length,	word_length,

;	1028		long_token,	mode_length,	long_length,

;	1029		decimal_token,	mode_radix,	decimal_radix,

;	1030		hexadecim_token,mode_radix,	hex_radix,

;	1031		octal_token,	mode_radix,	octal_radix,

;	1032		instruct_token,	mode_instruc,	TRUE,

;	1033		noinstruc_token,mode_instruc,	FALSE,

;	1034		ascii_token,	mode_ascii,	TRUE,

;	1035		noascii_token,	mode_ascii,	FALSE,

;	1036		symbols_token,	mode_symbols,	TRUE,

;	1037		nosymbols_token,mode_symbols,	FALSE,

;	1038		scope_token,	mode_scope,	TRUE,

;	1039		noscope_token,	mode_scope,	FALSE,

;	1040		global_token,	mode_globals,	TRUE,

;	1041		noglobal_token,	mode_globals,	FALSE,

;	1042		immed_nam_token,mode_immediate, TRUE,

;	1043		noimmed_n_token,mode_immediate, FALSE,

;	1044		label_token,	mode_fortran,	label_mode,



; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 2-2

; Digital Equipment Corporation

;

;	1045		line_token,	mode_fortran,	line_mode,

;	1046		literal_token,	mode_fortran,	literal_mode,

;	1047	

;	1048		0 ) : VECTOR [, BYTE];

;	1049	    

;	1050	BIND	

;	1051		step_table	= UPLIT BYTE (

;	1052	  

;	1053		instruct_token, step_line,	FALSE,

;	1054		stepline_token, step_line,	TRUE,

;	1055		into_token,     step_over,	FALSE,

;	1056		over_token,     step_over,	TRUE,

;	1057		system_token,   step_nosystem,	FALSE,

;	1058		nosystem_token, step_nosystem,	TRUE,

;	1059	

;	1060		0 ) : VECTOR [,BYTE];



; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 3

; Digital Equipment Corporation

;

;	1061	GLOBAL ROUTINE dbg$init_modes (goal_level, source_level) : NOVALUE =

;	1062	!++

;	1063	! FUNCTIONAL DESCRIPTION:

;	1064	!	Sets all levels from local level to the goal level specified

;	1065	!	with the mode settings of the source level.

;	1066	!

;	1067	! FORMAL PARAMETERS:

;	1068	!	goal_level	- highest level to set

;	1069	!	source_level	- level from which to obtain mode settings

;	1070	!

;	1071	! IMPLICIT INPUTS:

;	1072	!	none

;	1073	!

;	1074	! IMPLICIT OUTPUTS:

;	1075	!	THE mode settings of the local level to the goal level

;	1076	!	are reset to the mode settings of the source level.

;	1077	!

;	1078	! Routine value:

;	1079	!	NOVALUE

;	1080	!

;	1081	! SIDE EFFECTS:

;	1082	!	NONE

;	1083	!--

;	1084	

;	1085		BEGIN

;	1086	

;	1087		LOCAL

;	1088			temp_level: REF VECTOR [, BYTE];

;	1089	

;	1090	%IF dbg_mod

;     L 1091	%THEN

;     U 1092		$fao_tt_out ('copying !SL level modes up to !SL level', .source_level, .goal_level);

;     U 1093	%FI

;	1094	

;	1095		temp_level = dbg$gb_def_mod [.source_level * mode_lvl_size];

;	1096		DECR I FROM local_mode TO .goal_level DO

;	1097			BEGIN

;	1098			dbg$gb_mod_ptr = dbg$gb_def_mod [.I * mode_lvl_size];

;	1099			dbg$gb_mod_ptr [mode_radix] = .temp_level [mode_radix];

;	1100			dbg$gb_mod_ptr [mode_length] = .temp_level [mode_length];

;	1101			dbg$gb_mod_ptr [mode_symbols] = .temp_level [mode_symbols];

;	1102			dbg$gb_mod_ptr [mode_instruc] = .temp_level [mode_instruc];

;	1103			dbg$gb_mod_ptr [mode_ascii] = .temp_level [mode_ascii];

;	1104			dbg$gb_mod_ptr [mode_scope] = .temp_level [mode_scope];

;	1105			dbg$gb_mod_ptr [mode_globals] = .temp_level [mode_globals];

;	1106			dbg$gb_mod_ptr [mode_immediate] = .temp_level [mode_immediate];

;	1107			dbg$gb_mod_ptr [mode_fortran] = .temp_level [mode_fortran];

;	1108			END;

;	1109		END;





							    .TITLE  DBGMOD

							    .IDENT  \000036\



							    .PSECT  DBG$PLIT,NOWRT,  SHR,  PIC,0



; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 3-1

; Digital Equipment Corporation

;



					      00000 P.AAA:  .BYTE   8, 1, 1, 53, 1, 2, 29, 1, 4, 11, 0, 10, 23, 0, 16, 40, -  ;

								    0, 8, 24, 3, 1, 35, 3, 0, 5, 4, 1, 33, 4, 0, 49, 2, 1, -  ;

								    37, 2, 0, 44, 5, 1, 36, 5, 0, 21, 6, 1, 34, 6, 0, 69, 8, -;

								    1, 74, 8, 0, 26, 7, 1, 28, 7, 2, 30, 7, 3, 0	      ;

					      00040 P.AAB:  .BYTE   24, 0, 0, 48, 0, 1, 25, 2, 0, 42, 2, 1, 50, 1, 0, 38, 1, -;

								    1, 0						      ;

					      00053	    .BLKB   1



						    MODE_TABLE=		P.AAA

						    STEP_TABLE=		P.AAB

							    .GLOBL  DBG$FAO_OUT, DBG$GB_DEF_STP, DBG$GB_STP_PTR, DBG$GB_DEF_MOD

							    .GLOBL  DBG$GB_MOD_PTR, DBG$GL_CONTEXT, DBG$GL_HEAD_LST

							    .GLOBL  DBG$GB_LANGUAGE

							    .WEAK   ACCESS_CHECK



							    .PSECT  DBG$CODE,NOWRT,  SHR,  PIC,0



					 0C04 00000 	    .ENTRY  DBG$INIT_MODES, Save R2,R10,R11			      ; 1061

		         5A 00000000G  EF  9E 00002 	    MOVAB   DBG$GB_DEF_MOD, R10					      ;

		         5B 00000000G  EF  9E 00009 	    MOVAB   DBG$GB_MOD_PTR, R11					      ;

	   50	    08   AC	       09  C5 00010 	    MULL3   #9, SOURCE_LEVEL, R0				      ; 1095

	   51	         50	       5A  C1 00015 	    ADDL3   R10, R0, TEMP_LEVEL					      ;

		         52	       03  D0 00019 	    MOVL    #3, I						      ; 1096

				       15  11 0001C 	    BRB     2$							      ;

	   50	         52	       09  C5 0001E 1$:     MULL3   #9, I, R0						      ; 1098

	   6B	         50	       5A  C1 00022 	    ADDL3   R10, R0, DBG$GB_MOD_PTR				      ;

		         50	       6B  D0 00026 	    MOVL    DBG$GB_MOD_PTR, R0					      ; 1099

		         60	       61  90 00029 	    MOVB    (TEMP_LEVEL), (R0)					      ;

		    01   A0	  01   A1  7D 0002C 	    MOVQ    1(TEMP_LEVEL), 1(R0)				      ; 1100

				       52  D7 00031 	    DECL    I							      ; 1096

		    04   AC	       52  D1 00033 2$:     CMPL    I, GOAL_LEVEL					      ;

				       E5  18 00037 	    BGEQ    1$							      ;

					   04 00039 	    RET     							      ; 1061



; Routine Size:  58 bytes







; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 4

; Digital Equipment Corporation

;

;	1110	GLOBAL ROUTINE dbg$set_mod_def : NOVALUE =

;	1111	!++

;	1112	! FUNCTIONAL DESCRIPTION:

;	1113	!	CANCELS USER SET DEFAULTS FOR MODE SETTINGS.

;	1114	!	RESETS ALL MODE LEVELS TO LANGUAGE DEFAULTS.

;	1115	!	Called from  DBG$INIT_DEBUG as part of the

;	1116	!	once-only initialization phase of DEBUG.

;	1117	!

;	1118	! FORMAL PARAMETERS:

;	1119	!	NONE

;	1120	!

;	1121	! IMPLICIT INPUTS:

;	1122	!	THE DEFAULT MODES

;	1123	!

;	1124	! IMPLICIT OUTPUTS:

;	1125	!	NONE

;	1126	!

;	1127	! Routine value:

;	1128	!	NOVALUE

;	1129	!

;	1130	! SIDE EFFECTS:

;	1131	!	NONE

;	1132	!--

;	1133	

;	1134		BEGIN

;	1135	

;	1136	%IF dbg_mod

;     L 1137	%THEN

;     U 1138		$fao_tt_out ('initializing modes, language byte is !SB', .dbg$gb_language);

;     U 1139	%FI

;	1140	

;	1141		!+

;	1142		! Set up the MODE data structure

;	1143		!-

;	1144		dbg$gb_mod_ptr = dbg$gb_def_mod [default_mode * mode_lvl_size];

;	1145		IF .dbg$gb_language EQL fortran_lang

;	1146		THEN dbg$gb_mod_ptr [mode_radix] = for_def_radix

;	1147		ELSE dbg$gb_mod_ptr [mode_radix] = mar_def_radix;

;	1148		dbg$gb_mod_ptr [mode_length] = def_mode_length;

;	1149		dbg$gb_mod_ptr [mode_symbols] = TRUE;

;	1150		dbg$gb_mod_ptr [mode_instruc] = FALSE;

;	1151		dbg$gb_mod_ptr [mode_ascii] = FALSE;

;	1152		dbg$gb_mod_ptr [mode_scope] = TRUE;

;	1153		dbg$gb_mod_ptr [mode_globals] = FALSE;

;	1154		dbg$gb_mod_ptr [mode_immediate] = TRUE;

;	1155		dbg$gb_mod_ptr [mode_fortran] = def_fortran_no;

;	1156		dbg$init_modes (user_def_mode, default_mode);

;	1157		END;











					 0800 0003A 	    .ENTRY  DBG$SET_MOD_DEF, Save R11				      ; 1110

		         5B 00000000G  EF  9E 0003C 	    MOVAB   DBG$GB_MOD_PTR, R11					      ;



; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 4-1

; Digital Equipment Corporation

;

		         6B 00000000G  EF  9E 00043 	    MOVAB   DBG$GB_DEF_MOD, DBG$GB_MOD_PTR			      ; 1144

		         50	       6B  D0 0004A 	    MOVL    DBG$GB_MOD_PTR, R0					      ; 1146

		         01 00000000G  EF  91 0004D 	    CMPB    DBG$GB_LANGUAGE, #1					      ; 1145

				       05  12 00054 	    BNEQ    1$							      ;

		         60	       0A  90 00056 	    MOVB    #10, (R0)						      ; 1146

				       03  11 00059 	    BRB     2$							      ; 1145

		         60	       10  90 0005B 1$:     MOVB    #16, (R0)						      ; 1147

		    01   A0	0104   8F  3C 0005E 2$:     MOVZWL  #260, 1(R0)						      ; 1148

		    05   A0 01000001   8F  D0 00064 	    MOVL    #16777217, 5(R0)					      ; 1152

		         7E	       01  7D 0006C 	    MOVQ    #1, -(SP)						      ; 1156

		    8D   AF	       02  FB 0006F 	    CALLS   #2, DBG$INIT_MODES					      ;

					   04 00073 	    RET     							      ; 1110



; Routine Size:  58 bytes







; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 5

; Digital Equipment Corporation

;

;	1158	GLOBAL ROUTINE dbg$set_mod_lst (level) : NOVALUE =

;	1159	!++

;	1160	! FUNCTIONAL DESCRIPTION:

;	1161	!	SETS A LIST OF MODES AT THE SPECIFIED LEVEL.

;	1162	!	FIRST THE LEVEL IS CHANGED VIA A CALL TO DBG$SET_MOD_LVL

;	1163	!	THEN THE COMMAND ARGUMENT LIST IS SCANNED UNTIL THE END

;	1164	!	CALLING DBG$SET_NEW_MOD WITH THE TOKEN VALUE TO BE SET.

;	1165	!

;	1166	! FORMAL PARAMETERS:

;	1167	!	level	- level AT WHICH TO SET MODES

;	1168	!

;	1169	! IMPLICIT INPUTS:

;	1170	!	-THE ADDRESS OF THE LINKED LIST WHICH HOLDS THE SWITCHES.

;	1171	!	-THE GLOBAL pointerS TO THE CURRENT MODE levelS.

;	1172	!

;	1173	! IMPLICIT OUTPUTS:

;	1174	!	NONE

;	1175	!

;	1176	! Routine value:

;	1177	!	NOVALUE

;	1178	!

;	1179	! SIDE EFFECTS:

;	1180	!	NONE

;	1181	!--

;	1182	

;	1183		BEGIN

;	1184	

;	1185		LOCAL

;	1186			pointer;

;	1187	

;	1188	%IF dbg_mod

;     L 1189	%THEN

;     U 1190		$fao_tt_out ('new level is !SL', .level);

;     U 1191	%FI

;	1192	

;	1193		dbg$set_mod_lvl (.level);

;	1194		pointer = .dbg$gl_head_lst;

;	1195		DO

;	1196			dbg$set_new_mod ( .list_elem_exp1 (.pointer) )

;	1197			UNTIL (pointer = .list_elem_flink (.pointer)) EQLA 0;

;	1198		END;











					 0004 00074 	    .ENTRY  DBG$SET_MOD_LST, Save R2				      ; 1158

				  04   AC  DD 00076 	    PUSHL   LEVEL						      ; 1193

		  0000V  CF	       01  FB 00079 	    CALLS   #1, DBG$SET_MOD_LVL					      ;

		         52 00000000G  EF  D0 0007E 	    MOVL    DBG$GL_HEAD_LST, POINTER				      ; 1194

				  04   A2  DD 00085 1$:     PUSHL   4(POINTER)						      ; 1196

		  0000V  CF	       01  FB 00088 	    CALLS   #1, DBG$SET_NEW_MOD					      ;

		         52	       62  D0 0008D 	    MOVL    (POINTER), POINTER					      ; 1197

				       F3  12 00090 	    BNEQ    1$							      ;

					   04 00092 	    RET     							      ; 1158



; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 5-1

; Digital Equipment Corporation

;



; Routine Size:  31 bytes







; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 6

; Digital Equipment Corporation

;

;	1199	!++

;	1200	! THE FOLLOWING ROUTINES CONTROL INTERPRETATION AND TYPEOUT MODES.

;	1201	!

;	1202	!	ADDRESS INTERPRETATION AND DATA TYPEOUT ARE CONTROLLED BY FOUR MODE

;	1203	!	SETTINGS. THEY ARE 'DEFAULT_MODE', WHICH IS THE MODE SET BY

;	1204	!	DEBUG INITIALIZATION; 'user_def_mode', WHICH IS THE MODE SET

;	1205	!	BY USER 'SET DEFAULT' COMMANDS; 'override_mode', WHICH IS

;	1206	!	THE MODE SET BY A SINGLE LINE OVERRIDE MODE COMMAND; AND

;	1207	!	'local_mode', WHICH IS THE MODE SET FOR A SINGLE VARIABLE.

;	1208	!	WHICH MODE IS USED DEPENDS ON THE pointer INTO THE BLOCK

;	1209	!	dbg$gb_def_mod.

;	1210	!

;	1211	!	AT INITIALIZATION TIME, THE FOUR MODE SETTINGS ARE INITIALIZED

;	1212	!	TO THE SAME values. WHEN THESE values ARE CHANGED BY USER COMMANDS,

;	1213	!	SOME PROPAGATION OF MODE values MUST MOVE UP AND DOWN THROUGH THE

;	1214	!	DIFFERENT BLOCKS SO THAT THE ITEMS DISPLAYED OR INTERPRETED WILL

;	1215	!	HAVE VALID AND TIMELY MODE SETTINGS FOR BOTH RADIX AND LENGTH.

;	1216	!

;	1217	!	THE ROUTINES THAT FOLLOW SET THE MODE BLOCK pointerS TO THEIR NEW

;	1218	!	value AND PROPAGATE values AS NECESSARY.

;	1219	!

;	1220	!	THE GENERAL STRATEGY IS AS FOLLOWS:

;	1221	!	DEFAULT_MODE SETTINGS ARE NEVER CHANGED

;	1222	!	user_def_mode SETTINGS ARE NEVER CHANGED AS A RESULT OF pointer JIGGLING.

;	1223	!		THEY ARE ONLY CHANGED EXPLICITLY IN ACTION ROUTINES.

;	1224	!	override_mode SETTINGS ARE CHANGED TO REFLECT USER-SET DEFAULTS 

;	1225	!		WHEN THEY ARE THE OBJECT OF THE pointer.

;	1226	!	local_mode SETTINGS ARE COPIED FROM override_mode SETTINGS WHEN THEY

;	1227	!		ARE THE OBJECT OF THE pointer.

;	1228	!	WHEN THE pointer IS MOVING UP THE BLOCK, FROM local_mode TOWARD

;	1229	!		DEFAULT_MODE, NO values ARE PROPAGATED.

;	1230	!	SETTING OF local_mode AND override_mode TO DEFAULT SETTINGS AT THE END OF

;	1231	!		A COMMAND LINE IS THE EXPLICIT RESPONSIBILITY OF EOC ACTION

;	1232	!		ROUTINE.

;	1233	!--



; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 7

; Digital Equipment Corporation

;

;	1234	GLOBAL ROUTINE dbg$set_mod_lvl (level) : NOVALUE =

;	1235	!++

;	1236	! FUNCTIONAL DESCRIPTION

;	1237	!	SEE DESCRIPTION ON PAGE 2

;	1238	!

;	1239	! FORMAL PARAMETERS:

;	1240	!	level	- The structure level to set the pointer to.

;	1241	!		  user_def_mode

;	1242	!		  override_mode

;	1243	!		  local_mode

;	1244	!

;	1245	! IMPLICIT INPUTS:

;	1246	!	NONE

;	1247	!

;	1248	! IMPLICIT OUTPUTS:

;	1249	!	NONE

;	1250	!

;	1251	! Routine value:

;	1252	!	NO value

;	1253	!

;	1254	! SIDE EFFECTS:

;	1255	!	NONE

;	1256	!--

;	1257	

;	1258		BEGIN

;	1259	

;	1260		LOCAL

;	1261			temp_level: REF VECTOR [, BYTE];

;	1262	

;	1263	%IF dbg_mod

;     L 1264	%THEN

;     U 1265		$fao_tt_out ('new level is !SL', .level);

;     U 1266	%FI

;	1267	

;	1268		IF (dbg$gb_def_mod [.level * mode_lvl_size] LEQA .dbg$gb_mod_ptr)

;	1269			OR (.level EQL user_def_mode)

;	1270		THEN

;	1271			BEGIN

;	1272	%IF dbg_mod

;     L 1273	%THEN

;     U 1274		$fao_tt_out ('resetting to user-define level');

;     U 1275	%FI

;	1276			dbg$gb_mod_ptr = dbg$gb_def_mod [.level * mode_lvl_size];

;	1277			RETURN

;	1278			END;

;	1279		dbg$gl_context [dbg$k_override] = TRUE;

;	1280		SELECT .level OF

;	1281	

;	1282			SET

;	1283	

;	1284			[override_mode]:

;	1285				BEGIN

;	1286				temp_level = dbg$gb_def_mod [user_def_mode * mode_lvl_size];

;	1287				dbg$gb_mod_ptr = dbg$gb_def_mod [override_mode * mode_lvl_size];

;	1288	



; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 7-1

; Digital Equipment Corporation

;

;	1289	%IF dbg_mod

;     L 1290	%THEN

;     U 1291		$fao_tt_out ('copying user-define modes to override');

;     U 1292	%FI

;	1293	

;	1294				END;

;	1295	

;	1296			[local_mode]:

;	1297				BEGIN

;	1298				IF .dbg$gb_mod_ptr EQLA dbg$gb_def_mod [override_mode * mode_lvl_size]

;	1299				THEN

;	1300					BEGIN

;	1301					temp_level = .dbg$gb_mod_ptr;

;	1302	

;	1303	%IF dbg_mod

;     L 1304	%THEN	

;     U 1305		$fao_tt_out ('copying overrides to local');

;     U 1306	%FI

;	1307	

;	1308					END

;	1309				ELSE

;	1310					BEGIN

;	1311					temp_level = dbg$gb_def_mod [user_def_mode * mode_lvl_size];

;	1312	

;	1313	%IF dbg_mod

;     L 1314	%THEN

;     U 1315		$fao_tt_out ('copying user-define modes to local');

;     U 1316	%FI

;	1317	

;	1318					END;

;	1319				dbg$gb_mod_ptr = dbg$gb_def_mod [local_mode * mode_lvl_size];

;	1320				END;

;	1321	

;	1322			TES;

;	1323		dbg$gb_mod_ptr [mode_radix] = .temp_level [mode_radix];

;	1324		dbg$gb_mod_ptr [mode_length] = .temp_level [mode_length];

;	1325		dbg$gb_mod_ptr [mode_symbols] = .temp_level [mode_symbols];

;	1326		dbg$gb_mod_ptr [mode_instruc] = .temp_level [mode_instruc];

;	1327		dbg$gb_mod_ptr [mode_ascii] = .temp_level [mode_ascii];

;	1328		dbg$gb_mod_ptr [mode_scope] = .temp_level [mode_scope];

;	1329		dbg$gb_mod_ptr [mode_globals] = .temp_level [mode_globals];

;	1330		dbg$gb_mod_ptr [mode_immediate] = .temp_level [mode_immediate];

;	1331		dbg$gb_mod_ptr [mode_fortran] = .temp_level [mode_fortran];

;	1332		END;











					 0C00 00093 	    .ENTRY  DBG$SET_MOD_LVL, Save R10,R11			      ; 1234

		         5A 00000000G  EF  9E 00095 	    MOVAB   DBG$GB_DEF_MOD+9, R10				      ;

		         5B 00000000G  EF  9E 0009C 	    MOVAB   DBG$GB_MOD_PTR, R11					      ;

		         51	  04   AC  D0 000A3 	    MOVL    LEVEL, R1						      ; 1268

	   50	         51	       09  C5 000A7 	    MULL3   #9, R1, R0						      ;

		         50	  F7 AA40  9E 000AB 	    MOVAB   DBG$GB_DEF_MOD[R0], R0				      ;



; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 7-2

; Digital Equipment Corporation

;

		         6B	       50  D1 000B0 	    CMPL    R0, DBG$GB_MOD_PTR					      ;

				       05  1B 000B3 	    BLEQU   1$							      ;

		         01	       51  D1 000B5 	    CMPL    R1, #1						      ; 1269

				       04  12 000B8 	    BNEQ    2$							      ;

		         6B	       50  D0 000BA 1$:     MOVL    R0, DBG$GB_MOD_PTR					      ; 1276

					   04 000BD 	    RET     							      ; 1277

	      00000000G  EF	  80   8F  88 000BE 2$:     BISB2   #128, DBG$GL_CONTEXT				      ; 1279

		         02	       51  D1 000C6 	    CMPL    R1, #2						      ; 1280

				       07  12 000C9 	    BNEQ    3$							      ;

		         50	       6A  9E 000CB 	    MOVAB   DBG$GB_DEF_MOD+9, TEMP_LEVEL			      ; 1286

		         6B	  09   AA  9E 000CE 	    MOVAB   DBG$GB_DEF_MOD+18, DBG$GB_MOD_PTR			      ; 1287

		         03	       51  D1 000D2 3$:     CMPL    R1, #3						      ; 1280

				       15  12 000D5 	    BNEQ    6$							      ;

		         51	  09   AA  9E 000D7 	    MOVAB   DBG$GB_DEF_MOD+18, R1				      ; 1298

		         51	       6B  D1 000DB 	    CMPL    DBG$GB_MOD_PTR, R1					      ;

				       05  12 000DE 	    BNEQ    4$							      ;

		         50	       6B  D0 000E0 	    MOVL    DBG$GB_MOD_PTR, TEMP_LEVEL				      ; 1301

				       03  11 000E3 	    BRB     5$							      ; 1298

		         50	       6A  9E 000E5 4$:     MOVAB   DBG$GB_DEF_MOD+9, TEMP_LEVEL			      ; 1311

		         6B	  12   AA  9E 000E8 5$:     MOVAB   DBG$GB_DEF_MOD+27, DBG$GB_MOD_PTR			      ; 1319

		         51	       6B  D0 000EC 6$:     MOVL    DBG$GB_MOD_PTR, R1					      ; 1323

		         61	       60  90 000EF 	    MOVB    (TEMP_LEVEL), (R1)					      ;

		    01   A1	  01   A0  7D 000F2 	    MOVQ    1(TEMP_LEVEL), 1(R1)				      ; 1324

					   04 000F7 	    RET     							      ; 1234



; Routine Size:  101 bytes







; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 8

; Digital Equipment Corporation

;

;	1333	GLOBAL ROUTINE dbg$set_new_mod ( switch_value ): NOVALUE =

;	1334	!++

;	1335	! FUNCTIONAL DESCRIPTION:

;	1336	!	This routine sets one mode according to the value

;	1337	!	specified.

;	1338	!

;	1339	! FORMAL PARAMETERS:

;	1340	!	switch_value	- value to set

;	1341	!

;	1342	! IMPLICIT INPUTS:

;	1343	!	The current level of modes being used; held in dbg$gb_mod_ptr.

;	1344	!

;	1345	! IMPLICIT OUTPUTS:

;	1346	!	MODIFIES THE VALUE OF THE ENTRY

;	1347	!	IN WHATEVER LEVEL WE ARE IN OF THE MODE

;	1348	!	DATA STRUCTURE.

;	1349	!

;	1350	! Routine value:

;	1351	!	NOVALUE

;	1352	!

;	1353	! SIDE EFFECTS:

;	1354	!	NONE

;	1355	!--

;	1356	

;	1357		BEGIN

;	1358	

;	1359		LOCAL

;	1360			table_ptr : REF VECTOR [, BYTE];

;	1361	

;	1362	%IF dbg_mod

;     L 1363	%THEN

;     U 1364		$fao_tt_out ('new mode is !SL', .switch_value);

;     U 1365	%FI

;	1366	

;	1367		table_ptr = mode_table;

;	1368		WHILE (.table_ptr [keyword_field] NEQ 0) DO

;	1369			BEGIN

;	1370			IF .switch_value EQL .table_ptr [keyword_field]

;	1371			THEN

;	1372				BEGIN

;	1373				dbg$gb_mod_ptr [.table_ptr [offset_field]] =

;	1374					.table_ptr [value_field];

;	1375				EXITLOOP

;	1376				END

;	1377			ELSE table_ptr = table_ptr [0] + mode_entry_len;

;	1378			END;

;	1379		END;











					 0000 000F8 	    .ENTRY  DBG$SET_NEW_MOD, Save nothing			      ; 1333

		         50 00000000'  EF  9E 000FA 	    MOVAB   MODE_TABLE, TABLE_PTR				      ;

				       60  95 00101 1$:     TSTB    (TABLE_PTR)						      ; 1368



; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 8-1

; Digital Equipment Corporation

;

				       1D  13 00103 	    BEQL    3$							      ;

	   60	         08	       00  ED 00105 	    CMPZV   #0, #8, (TABLE_PTR), SWITCH_VALUE			      ; 1370

				  04   AC     00109									      ;

				       10  12 0010B 	    BNEQ    2$							      ;

		         51	  01   A0  9A 0010D 	    MOVZBL  1(TABLE_PTR), R1					      ; 1373

		         51 00000000G  EF  C0 00111 	    ADDL2   DBG$GB_MOD_PTR, R1					      ;

		         61	  02   A0  90 00118 	    MOVB    2(TABLE_PTR), (R1)					      ;

					   04 0011C 	    RET     							      ; 1375

		         50	       03  C0 0011D 2$:     ADDL2   #3, TABLE_PTR					      ; 1377

				       DF  11 00120 	    BRB     1$							      ; 1368

					   04 00122 3$:     RET     							      ; 1333



; Routine Size:  43 bytes







; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 9

; Digital Equipment Corporation

;

;	1380	GLOBAL ROUTINE dbg$show_mode : NOVALUE =

;	1381	!++

;	1382	! FUNCTIONAL DESCRIPTION:

;	1383	!	ACTION ROUTINE TO SHOW DEFAULT MODES

;	1384	!

;	1385	! FORMAL PARAMETERS:

;	1386	!	NONE

;	1387	!

;	1388	! IMPLICIT INPUTS:

;	1389	!	THE POINTER TO THE CURRENT MODE STRUCTURE.

;	1390	!

;	1391	! IMPLICIT OUTPUTS:

;	1392	!	NONE

;	1393	!

;	1394	! Routine value:

;	1395	!	NOVALUE

;	1396	!

;	1397	! SIDE EFFECTS:

;	1398	!	THE MODES ARE DISPLAYED ON THE OUTPUT DEVICE

;	1399	!--

;	1400	

;	1401		BEGIN

;	1402	

;	1403		MACRO

;	1404		yes_no (value)=(IF value 

;     M 1405				THEN cs_boolean_on

;     M 1406				ELSE cs_boolean_off ) %;

;	1407	

;	1408		!+

;	1409		! counted strings for FAO

;	1410		!-

;	1411	

;	1412		BIND

;	1413		cs_octal	= UPLIT ( %ASCIC 'octal'),

;	1414		cs_decimal	= UPLIT ( %ASCIC 'decimal'),

;	1415		cs_hexadecimal	= UPLIT ( %ASCIC 'hexadecimal'),

;	1416		cs_byte		= UPLIT ( %ASCIC 'byte'),

;	1417		cs_word		= UPLIT ( %ASCIC 'word'),

;	1418		cs_longword	= UPLIT ( %ASCIC 'long'),

;	1419		cs_boolean_on	= UPLIT ( %ASCIC ' ' ),

;	1420		cs_boolean_off	= UPLIT ( %ASCIC ' no' );

;	1421	

;	1422	

;	1423		LOCAL

;	1424			level_ptr : REF VECTOR [, BYTE];	! CURRENT MODE level.

;	1425	

;	1426		level_ptr = .dbg$gb_mod_ptr;

;	1427		$fao_tt_out ( 'modes:!ACsymbolic,!ACinstruction,!ACascii,!ACscope,!ACglobal, !AC, !AC' ,

;     P 1428			yes_no ( .level_ptr[ mode_symbols ] ),

;     P 1429			yes_no ( .level_ptr[ mode_instruc ] ),

;     P 1430			yes_no ( .level_ptr[ mode_ascii ] ),

;     P 1431			yes_no ( .level_ptr[ mode_scope ] ),

;     P 1432			yes_no ( .level_ptr[ mode_globals ] ),

;     P 1433	

;     P 1434			(SELECTONE .level_ptr[ mode_radix ] OF



; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 9-1

; Digital Equipment Corporation

;

;     P 1435	

;     P 1436				SET

;     P 1437	

;     P 1438				[octal_radix]:	cs_octal;

;     P 1439				[hex_radix]:	cs_hexadecimal;

;     P 1440				[decimal_radix]: cs_decimal;

;     P 1441	

;     P 1442				TES),

;     P 1443	

;     P 1444			(SELECTONE .level_ptr[ mode_length ] OF

;     P 1445	

;     P 1446				SET

;     P 1447	

;     P 1448				[byte_length]:	cs_byte;

;     P 1449				[word_length]:	cs_word;

;     P 1450				[long_length]:	cs_longword;

;     P 1451	

;     P 1452				TES)

;     P 1453			);

;	1454	

;	1455		END;







							    .PSECT  DBG$PLIT,NOWRT,  SHR,  PIC,0



					      00054 P.AAC:  .ASCII  <5>\octal\<0><0>					      ;

					      0005C P.AAD:  .ASCII  <7>\decimal\					      ;

					      00064 P.AAE:  .ASCII  <11>\hexadecimal\					      ;

					      00070 P.AAF:  .ASCII  <4>\byte\<0><0><0>					      ;

					      00078 P.AAG:  .ASCII  <4>\word\<0><0><0>					      ;

					      00080 P.AAH:  .ASCII  <4>\long\<0><0><0>					      ;

					      00088 P.AAI:  .ASCII  <1>\ \<0><0>					      ;

					      0008C P.AAJ:  .ASCII  <3>\ no\						      ;

					      00090 P.AAK:  .BYTE   70							      ;

					      00091 	    .ASCII  \modes:!ACsymbolic,!ACinstruction,!ACascii,!ACscope,!AC\  ;

					      000C7 	    .ASCII  \global, !AC, !AC\					      ;

					      000D7	    .BLKB   1



						    CS_OCTAL=		P.AAC

						    CS_DECIMAL=		P.AAD

						    CS_HEXADECIMAL=	P.AAE

						    CS_BYTE=		P.AAF

						    CS_WORD=		P.AAG

						    CS_LONGWORD=	P.AAH

						    CS_BOOLEAN_ON=	P.AAI

						    CS_BOOLEAN_OFF=	P.AAJ





							    .PSECT  DBG$CODE,NOWRT,  SHR,  PIC,0



					 0800 00123 	    .ENTRY  DBG$SHOW_MODE, Save R11				      ; 1380

		         5B 00000000'  EF  9E 00125 	    MOVAB   CS_BOOLEAN_ON, R11					      ;

		         50 00000000G  EF  D0 0012C 	    MOVL    DBG$GB_MOD_PTR, LEVEL_PTR				      ; 1426

		         51	  01   A0  9A 00133 	    MOVZBL  1(LEVEL_PTR), R1					      ; 1453



; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 9-2

; Digital Equipment Corporation

;

		         01	       51  91 00137 	    CMPB    R1, #1						      ;

				       05  12 0013A 	    BNEQ    1$							      ;

				  E8   AB  9F 0013C 	    PUSHAB  CS_BYTE						      ; 1380

				       17  11 0013F 	    BRB     4$							      ; 1453

		         02	       51  91 00141 1$:     CMPB    R1, #2						      ;

				       05  12 00144 	    BNEQ    2$							      ;

				  F0   AB  9F 00146 	    PUSHAB  CS_WORD						      ; 1380

				       0D  11 00149 	    BRB     4$							      ; 1453

		         04	       51  91 0014B 2$:     CMPB    R1, #4						      ;

				       05  13 0014E 	    BEQL    3$							      ;

		         7E	       01  CE 00150 	    MNEGL   #1, -(SP)						      ;

				       03  11 00153 	    BRB     4$							      ;

				  F8   AB  9F 00155 3$:     PUSHAB  CS_LONGWORD						      ; 1380

		         08	       60  91 00158 4$:     CMPB    (LEVEL_PTR), #8					      ; 1453

				       05  12 0015B 	    BNEQ    5$							      ;

				  CC   AB  9F 0015D 	    PUSHAB  CS_OCTAL						      ; 1380

				       17  11 00160 	    BRB     8$							      ; 1453

		         10	       60  91 00162 5$:     CMPB    (LEVEL_PTR), #16					      ;

				       05  12 00165 	    BNEQ    6$							      ;

				  DC   AB  9F 00167 	    PUSHAB  CS_HEXADECIMAL					      ; 1380

				       0D  11 0016A 	    BRB     8$							      ; 1453

		         0A	       60  91 0016C 6$:     CMPB    (LEVEL_PTR), #10					      ;

				       05  13 0016F 	    BEQL    7$							      ;

		         7E	       01  CE 00171 	    MNEGL   #1, -(SP)						      ;

				       03  11 00174 	    BRB     8$							      ;

				  D4   AB  9F 00176 7$:     PUSHAB  CS_DECIMAL						      ; 1380

		         05	  06   A0  E9 00179 8$:     BLBC    6(LEVEL_PTR), 9$					      ; 1453

		         51	       6B  9E 0017D 	    MOVAB   CS_BOOLEAN_ON, R1					      ; 1380

				       04  11 00180 	    BRB     10$							      ; 1453

		         51	  04   AB  9E 00182 9$:     MOVAB   CS_BOOLEAN_OFF, R1					      ; 1380

				       51  DD 00186 10$:    PUSHL   R1							      ; 1453

		         05	  05   A0  E9 00188 	    BLBC    5(LEVEL_PTR), 11$					      ;

		         51	       6B  9E 0018C 	    MOVAB   CS_BOOLEAN_ON, R1					      ; 1380

				       04  11 0018F 	    BRB     12$							      ; 1453

		         51	  04   AB  9E 00191 11$:    MOVAB   CS_BOOLEAN_OFF, R1					      ; 1380

				       51  DD 00195 12$:    PUSHL   R1							      ; 1453

		         05	  04   A0  E9 00197 	    BLBC    4(LEVEL_PTR), 13$					      ;

		         51	       6B  9E 0019B 	    MOVAB   CS_BOOLEAN_ON, R1					      ; 1380

				       04  11 0019E 	    BRB     14$							      ; 1453

		         51	  04   AB  9E 001A0 13$:    MOVAB   CS_BOOLEAN_OFF, R1					      ; 1380

				       51  DD 001A4 14$:    PUSHL   R1							      ; 1453

		         05	  03   A0  E9 001A6 	    BLBC    3(LEVEL_PTR), 15$					      ;

		         51	       6B  9E 001AA 	    MOVAB   CS_BOOLEAN_ON, R1					      ; 1380

				       04  11 001AD 	    BRB     16$							      ; 1453

		         51	  04   AB  9E 001AF 15$:    MOVAB   CS_BOOLEAN_OFF, R1					      ; 1380

				       51  DD 001B3 16$:    PUSHL   R1							      ; 1453

		         05	  02   A0  E9 001B5 	    BLBC    2(LEVEL_PTR), 17$					      ;

		         50	       6B  9E 001B9 	    MOVAB   CS_BOOLEAN_ON, R0					      ; 1380

				       04  11 001BC 	    BRB     18$							      ; 1453

		         50	  04   AB  9E 001BE 17$:    MOVAB   CS_BOOLEAN_OFF, R0					      ; 1380

				       50  DD 001C2 18$:    PUSHL   R0							      ; 1453

				  08   AB  9F 001C4 	    PUSHAB  P.AAK						      ;

	      00000000G  EF	       08  FB 001C7 	    CALLS   #8, DBG$FAO_OUT					      ;

					   04 001CE 	    RET     							      ; 1380





; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 9-3

; Digital Equipment Corporation

;

; Routine Size:  172 bytes







; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 10

; Digital Equipment Corporation

;

;	1456	GLOBAL ROUTINE dbg$init_step (goal_level, source_level) : NOVALUE =

;	1457	!++

;	1458	! FUNCTIONAL DESCRIPTION:

;	1459	!	Sets all levels from override level to the goal level specified

;	1460	!	with the step settings of the source level.

;	1461	!

;	1462	!

;	1463	! INPUTS:

;	1464	!	goal_level	- highest level to set

;	1465	!	source_level	- level from which to obtain step settings

;	1466	!

;	1467	! IMPLICIT INPUTS:

;	1468	!	none

;	1469	!

;	1470	! OUTPUTS:

;	1471	!	NONE

;	1472	!

;	1473	! IMPLICIT OUTPUTS:

;	1474	!	THE step settings of the override level to the goal level

;	1475	!	are reset to the step settings of the source level.

;	1476	!

;	1477	! Routine value:

;	1478	!	NOVALUE

;	1479	!

;	1480	! SIDE EFFECTS:

;	1481	!	NONE

;	1482	!--

;	1483	

;	1484		BEGIN

;	1485	

;	1486		LOCAL

;	1487			temp_level: REF VECTOR [, BYTE];

;	1488	

;	1489	%IF dbg_mod1

;     L 1490	%THEN

;     U 1491		$fao_tt_out ('copying !SL level step settings up to !SL level', .source_level, .goal_level);

;     U 1492	%FI

;	1493	

;	1494		temp_level = dbg$gb_def_stp [.source_level * step_lvl_size];

;	1495		DECR I FROM override_step TO .goal_level DO

;	1496			BEGIN

;	1497			dbg$gb_stp_ptr = dbg$gb_def_stp [.I * step_lvl_size];

;	1498			dbg$gb_stp_ptr [step_line] = .temp_level [step_line];

;	1499			dbg$gb_stp_ptr [step_nosystem] = .temp_level [step_nosystem];

;	1500			dbg$gb_stp_ptr [step_over] = .temp_level [step_over];

;	1501			END;

;	1502		END;











					 0C04 001CF 	    .ENTRY  DBG$INIT_STEP, Save R2,R10,R11			      ; 1456

		         5A 00000000G  EF  9E 001D1 	    MOVAB   DBG$GB_DEF_STP, R10					      ;

		         5B 00000000G  EF  9E 001D8 	    MOVAB   DBG$GB_STP_PTR, R11					      ;



; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 10-1

; Digital Equipment Corporation

;

	   50	    08   AC	       03  C5 001DF 	    MULL3   #3, SOURCE_LEVEL, R0				      ; 1494

	   51	         50	       5A  C1 001E4 	    ADDL3   R10, R0, TEMP_LEVEL					      ;

		         52	       02  D0 001E8 	    MOVL    #2, I						      ; 1495

				       15  11 001EB 	    BRB     2$							      ;

	   50	         52	       03  C5 001ED 1$:     MULL3   #3, I, R0						      ; 1497

	   6B	         50	       5A  C1 001F1 	    ADDL3   R10, R0, DBG$GB_STP_PTR				      ;

		         50	       6B  D0 001F5 	    MOVL    DBG$GB_STP_PTR, R0					      ; 1498

		         60	       61  90 001F8 	    MOVB    (TEMP_LEVEL), (R0)					      ;

		    01   A0	  01   A1  B0 001FB 	    MOVW    1(TEMP_LEVEL), 1(R0)				      ; 1499

				       52  D7 00200 	    DECL    I							      ; 1495

		    04   AC	       52  D1 00202 2$:     CMPL    I, GOAL_LEVEL					      ;

				       E5  18 00206 	    BGEQ    1$							      ;

					   04 00208 	    RET     							      ; 1456



; Routine Size:  58 bytes







; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 11

; Digital Equipment Corporation

;

;	1503	GLOBAL ROUTINE dbg$set_stp_def : NOVALUE =

;	1504	!++

;	1505	! FUNCTIONAL DESCRIPTION:

;	1506	!	CANCELS USER SET DEFAULTS FOR STEP SETTINGS.

;	1507	!	RESETS ALL STEP LEVELS TO SYSTEM DEFAULTS FOR THE CURRENT LANGUAGE.

;	1508	!

;	1509	!

;	1510	! INPUTS:

;	1511	!	NONE

;	1512	!

;	1513	! IMPLICIT INPUTS:

;	1514	!	THE DEFAULT STEP SETTINGS

;	1515	!

;	1516	! OUTPUTS:

;	1517	!	NONE

;	1518	!

;	1519	! IMPLICIT OUTPUTS:

;	1520	!	NONE

;	1521	!

;	1522	! Routine value:

;	1523	!	NOVALUE

;	1524	!

;	1525	! SIDE EFFECTS:

;	1526	!	RESETS DEFAULT values FOR STEP.

;	1527	!--

;	1528	

;	1529		BEGIN

;	1530	

;	1531	%IF dbg_mod1

;     L 1532	%THEN

;     U 1533		$fao_tt_out ('initializing step values, language byte is !SB', .dbg$gb_language);

;     U 1534	%FI

;	1535	

;	1536		!+

;	1537		! Set up the step data structure

;	1538		!-

;	1539	   

;	1540		dbg$gb_stp_ptr = dbg$gb_def_stp[default_step * step_lvl_size];

;	1541	     

;	1542		IF .dbg$gb_language EQL fortran_lang

;	1543		    THEN dbg$gb_stp_ptr[step_line] = TRUE

;	1544		    ELSE dbg$gb_stp_ptr[step_line] = FALSE;

;	1545	   

;	1546		dbg$gb_stp_ptr[step_nosystem] = TRUE;

;	1547		dbg$gb_stp_ptr[step_over]     = TRUE;

;	1548		dbg$init_step (user_def_step, default_step);

;	1549		END;











					 0800 00209 	    .ENTRY  DBG$SET_STP_DEF, Save R11				      ; 1503

		         5B 00000000G  EF  9E 0020B 	    MOVAB   DBG$GB_STP_PTR, R11					      ;

		         6B 00000000G  EF  9E 00212 	    MOVAB   DBG$GB_DEF_STP, DBG$GB_STP_PTR			      ; 1540



; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 11-1

; Digital Equipment Corporation

;

		         50	       6B  D0 00219 	    MOVL    DBG$GB_STP_PTR, R0					      ; 1543

		         01 00000000G  EF  91 0021C 	    CMPB    DBG$GB_LANGUAGE, #1					      ; 1542

				       05  12 00223 	    BNEQ    1$							      ;

		         60	       01  90 00225 	    MOVB    #1, (R0)						      ; 1543

				       02  11 00228 	    BRB     2$							      ; 1542

				       60  94 0022A 1$:     CLRB    (R0)						      ; 1544

		    01   A0	0101   8F  B0 0022C 2$:     MOVW    #257, 1(R0)						      ; 1546

		         7E	       01  7D 00232 	    MOVQ    #1, -(SP)						      ; 1548

		    96   AF	       02  FB 00235 	    CALLS   #2, DBG$INIT_STEP					      ;

					   04 00239 	    RET     							      ; 1503



; Routine Size:  49 bytes







; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 12

; Digital Equipment Corporation

;

;	1550	GLOBAL ROUTINE dbg$set_stp_lst (level) : NOVALUE =

;	1551	!++

;	1552	! FUNCTIONAL DESCRIPTION:

;	1553	!	SETS A LIST OF STEPS AT THE SPECIFIED level.

;	1554	!

;	1555	! INPUTS:

;	1556	!	level	- level AT WHICH TO SET STEP SETTINGS

;	1557	!

;	1558	! IMPLICIT INPUTS:

;	1559	!	-THE ADDRESS OF THE LINKED LIST WHICH HOLDS THE SWITCHES.

;	1560	!	-THE GLOBAL pointerS TO THE CURRENT STEP levelS.

;	1561	!

;	1562	! OUTPUTS:

;	1563	!	NONE

;	1564	!

;	1565	! IMPLICIT OUTPUTS:

;	1566	!	NONE

;	1567	!

;	1568	! Routine value:

;	1569	!	NOVALUE

;	1570	!

;	1571	! SIDE EFFECTS:

;	1572	!	THE APPROPRIATE STEP SETTINGS ARE MADE  .

;	1573	!--

;	1574	

;	1575		BEGIN

;	1576	

;	1577		LOCAL

;	1578			pointer;

;	1579	

;	1580	%IF dbg_mod1

;     L 1581	%THEN

;     U 1582		$fao_tt_out ('new level is !SL', .level);

;     U 1583	%FI

;	1584	

;	1585		dbg$set_stp_lvl (.level);

;	1586		pointer = .dbg$gl_head_lst;

;	1587		DO

;	1588			dbg$set_new_stp ( .list_elem_exp1 (.pointer) )

;	1589			UNTIL (pointer = .list_elem_flink (.pointer)) EQLA 0;

;	1590		END;











					 0004 0023A 	    .ENTRY  DBG$SET_STP_LST, Save R2				      ; 1550

				  04   AC  DD 0023C 	    PUSHL   LEVEL						      ; 1585

		  0000V  CF	       01  FB 0023F 	    CALLS   #1, DBG$SET_STP_LVL					      ;

		         52 00000000G  EF  D0 00244 	    MOVL    DBG$GL_HEAD_LST, POINTER				      ; 1586

				  04   A2  DD 0024B 1$:     PUSHL   4(POINTER)						      ; 1588

		  0000V  CF	       01  FB 0024E 	    CALLS   #1, DBG$SET_NEW_STP					      ;

		         52	       62  D0 00253 	    MOVL    (POINTER), POINTER					      ; 1589

				       F3  12 00256 	    BNEQ    1$							      ;

					   04 00258 	    RET     							      ; 1550



; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 12-1

; Digital Equipment Corporation

;



; Routine Size:  31 bytes







; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 13

; Digital Equipment Corporation

;

;	1591	GLOBAL ROUTINE dbg$set_stp_lvl (level) : NOVALUE =

;	1592	!++

;	1593	! FUNCTIONAL DESCRIPTION

;	1594	!	SEE DESCRIPTION ON PAGE 2

;	1595	!

;	1596	! INPUTS:

;	1597	!	NONE

;	1598	!

;	1599	! IMPLICIT INPUTS:

;	1600	!	NONE

;	1601	!

;	1602	! OUTPUTS:

;	1603	!	NONE

;	1604	!

;	1605	! IMPLICIT OUTPUTS:

;	1606	!	NONE

;	1607	!

;	1608	! Routine value:

;	1609	!	NO value

;	1610	!

;	1611	! SIDE EFFECTS:

;	1612	!	NONE

;	1613	!--

;	1614	

;	1615		BEGIN

;	1616	

;	1617		LOCAL

;	1618			temp_level: REF VECTOR [, BYTE];

;	1619	

;	1620	%IF dbg_mod1

;     L 1621	%THEN

;     U 1622		$fao_tt_out ('new level is !SL', .level);

;     U 1623	%FI

;	1624	

;	1625		IF (dbg$gb_def_stp [.level * step_lvl_size] LEQA .dbg$gb_stp_ptr)

;	1626			OR (.level EQL user_def_step)

;	1627		THEN

;	1628			BEGIN

;	1629	%IF dbg_mod1

;     L 1630	%THEN

;     U 1631		$fao_tt_out ('resetting to user-define level');

;     U 1632	%FI

;	1633			dbg$gb_stp_ptr = dbg$gb_def_stp [.level * step_lvl_size];

;	1634			END

;	1635		ELSE

;	1636			BEGIN

;	1637			temp_level = dbg$gb_def_stp [user_def_step * step_lvl_size];

;	1638			dbg$gb_stp_ptr = dbg$gb_def_stp [override_step * step_lvl_size];

;	1639	

;	1640	%IF dbg_mod1

;     L 1641	%THEN

;     U 1642		$fao_tt_out ('copying user-define modes to override');

;     U 1643	%FI

;	1644	

;	1645				END;



; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 13-1

; Digital Equipment Corporation

;

;	1646	

;	1647		dbg$gb_stp_ptr [step_line] = .temp_level [step_line];

;	1648		dbg$gb_stp_ptr [step_nosystem] = .temp_level [step_nosystem];

;	1649		dbg$gb_stp_ptr [step_nosystem] = .temp_level [step_nosystem];

;	1650		END;











					 0C00 00259 	    .ENTRY  DBG$SET_STP_LVL, Save R10,R11			      ; 1591

		         5A 00000000G  EF  9E 0025B 	    MOVAB   DBG$GB_DEF_STP, R10					      ;

		         5B 00000000G  EF  9E 00262 	    MOVAB   DBG$GB_STP_PTR, R11					      ;

	   50	    04   AC	       03  C5 00269 	    MULL3   #3, LEVEL, R0					      ; 1625

		         50	       5A  C0 0026E 	    ADDL2   R10, R0						      ;

		         6B	       50  D1 00271 	    CMPL    R0, DBG$GB_STP_PTR					      ;

				       06  1B 00274 	    BLEQU   1$							      ;

		         01	  04   AC  D1 00276 	    CMPL    LEVEL, #1						      ; 1626

				       05  12 0027A 	    BNEQ    2$							      ;

		         6B	       50  D0 0027C 1$:     MOVL    R0, DBG$GB_STP_PTR					      ; 1633

				       08  11 0027F 	    BRB     3$							      ; 1625

		         50	  03   AA  9E 00281 2$:     MOVAB   DBG$GB_DEF_STP+3, TEMP_LEVEL			      ; 1637

		         6B	  06   AA  9E 00285 	    MOVAB   DBG$GB_DEF_STP+6, DBG$GB_STP_PTR			      ; 1638

		         51	       6B  D0 00289 3$:     MOVL    DBG$GB_STP_PTR, R1					      ; 1647

		         61	       60  90 0028C 	    MOVB    (TEMP_LEVEL), (R1)					      ;

		    01   A1	  01   A0  90 0028F 	    MOVB    1(TEMP_LEVEL), 1(R1)				      ; 1648

		    01   A1	  01   A0  90 00294 	    MOVB    1(TEMP_LEVEL), 1(R1)				      ; 1649

					   04 00299 	    RET     							      ; 1591



; Routine Size:  65 bytes







; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 14

; Digital Equipment Corporation

;

;	1651	GLOBAL ROUTINE dbg$set_new_stp ( switch_value ): NOVALUE =

;	1652	!++

;	1653	! FUNCTIONAL DESCRIPTION:

;	1654	!	This routine sets one step setting according to the value

;	1655	!	specified.

;	1656	!

;	1657	! INPUTS:

;	1658	!	switch_value	- value to set

;	1659	!

;	1660	! IMPLICIT INPUTS:

;	1661	!	The current level of steps being used; held in dbg$gb_stp_ptr.

;	1662	!

;	1663	! OUTPUTS:

;	1664	!	NOVALUE RETURNED.

;	1665	!	MODIFIES THE value OF THE ENTRY

;	1666	!	IN WHATEVER level WE ARE IN OF THE STEP

;	1667	!	DATA STRUCTURE.

;	1668	!

;	1669	! IMPLICIT OUTPUTS:

;	1670	!	NONE

;	1671	!

;	1672	! Routine value:

;	1673	!	NOVALUE

;	1674	!

;	1675	! SIDE EFFECTS:

;	1676	!	NONE

;	1677	!--

;	1678	

;	1679		BEGIN

;	1680	

;	1681		LOCAL

;	1682			table_ptr : REF VECTOR [, BYTE];

;	1683	

;	1684	%IF dbg_mod1

;     L 1685	%THEN

;     U 1686		$fao_tt_out ('new step setting is !SL', .switch_value);

;     U 1687	%FI

;	1688	

;	1689		table_ptr = step_table;

;	1690		WHILE (.table_ptr [keyword_field] NEQ 0) DO

;	1691			BEGIN

;	1692			IF .switch_value EQL .table_ptr [keyword_field]

;	1693			THEN

;	1694				BEGIN

;	1695				dbg$gb_stp_ptr [.table_ptr [offset_field]] =

;	1696					.table_ptr [value_field];

;	1697				EXITLOOP

;	1698				END

;	1699			ELSE table_ptr = table_ptr [0] + step_entry_len;

;	1700			END;

;	1701		END;











; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 14-1

; Digital Equipment Corporation

;



					 0000 0029A 	    .ENTRY  DBG$SET_NEW_STP, Save nothing			      ; 1651

		         50 00000000'  EF  9E 0029C 	    MOVAB   STEP_TABLE, TABLE_PTR				      ;

				       60  95 002A3 1$:     TSTB    (TABLE_PTR)						      ; 1690

				       1D  13 002A5 	    BEQL    3$							      ;

	   60	         08	       00  ED 002A7 	    CMPZV   #0, #8, (TABLE_PTR), SWITCH_VALUE			      ; 1692

				  04   AC     002AB									      ;

				       10  12 002AD 	    BNEQ    2$							      ;

		         51	  01   A0  9A 002AF 	    MOVZBL  1(TABLE_PTR), R1					      ; 1695

		         51 00000000G  EF  C0 002B3 	    ADDL2   DBG$GB_STP_PTR, R1					      ;

		         61	  02   A0  90 002BA 	    MOVB    2(TABLE_PTR), (R1)					      ;

					   04 002BE 	    RET     							      ; 1697

		         50	       03  C0 002BF 2$:     ADDL2   #3, TABLE_PTR					      ; 1699

				       DF  11 002C2 	    BRB     1$							      ; 1690

					   04 002C4 3$:     RET     							      ; 1651



; Routine Size:  43 bytes







; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 15

; Digital Equipment Corporation

;

;	1702	GLOBAL ROUTINE dbg$show_step : NOVALUE =

;	1703	!++

;	1704	! FUNCTIONAL DESCRIPTION:

;	1705	!	ACTION ROUTINE TO DISPLAY THE CURRENT SETTING OF THE

;	1706	!	"STEP TYPE" DATA STRUCTURE

;	1707	!

;	1708	! INPUTS:

;	1709	!	NONE

;	1710	!

;	1711	! IMPLICIT INPUTS:

;	1712	!	none.

;	1713	!

;	1714	! OUTPUTS:

;	1715	!	NONE

;	1716	!

;	1717	! IMPLICIT OUTPUTS:

;	1718	!	NONE

;	1719	!

;	1720	! Routine value:

;	1721	!	NOVALUE

;	1722	!

;	1723	! SIDE EFFECTS:

;	1724	!	THE STEP SETTINGS ARE DISPLAYED ON THE OUTPUT DEVICE

;	1725	!--

;	1726	

;	1727	BEGIN

;	1728		LOCAL

;	1729			system_cs	: REF VECTOR[,byte],

;	1730			line_cs		: REF VECTOR[,byte],

;	1731			into_cs		: REF VECTOR[,byte];

;	1732	

;	1733		!+

;	1734		! We simply put out one line describing the

;	1735		! current step types, based on the TRUE/FALSE

;	1736		! indicators given in the STP structure.

;	1737		!-

;	1738	

;	1739		! If the step mode is not SYSTEM, then it 

;	1740		! must be NOSYSTEM.

;	1741	

;	1742		system_cs = uplit( %ascic '');

;	1743		if( .dbg$gb_stp_ptr[ step_nosystem ] )

;	1744		then

;	1745			system_cs = uplit( %ascic 'no' );

;	1746	

;	1747		! If the step mode is not LINE, then it 

;	1748		! must be INSTRUCTION.

;	1749	

;	1750		line_cs = uplit( %ascic 'instruction');

;	1751		if( .dbg$gb_stp_ptr[ step_line ] )

;	1752		then

;	1753			line_cs = uplit( %ascic 'line' );

;	1754	

;	1755		! If the step mode is not INTO, then it 

;	1756		! must be OVER.



; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 15-1

; Digital Equipment Corporation

;

;	1757	

;	1758		into_cs = uplit( %ascic 'into');

;	1759		if( .dbg$gb_stp_ptr[ step_over ] )

;	1760		then

;	1761			into_cs = uplit( %ascic 'over' );

;	1762	

;	1763		! Put out the line and return.

;	1764	

;	1765		$fao_tt_out('step type: !ACsystem, by !AC, !AC routine calls',

;     P 1766			.system_cs,.line_cs,.into_cs);

;	1767	END;







							    .PSECT  DBG$PLIT,NOWRT,  SHR,  PIC,0



					      000D8 P.AAL:  .ASCII  <0><0><0><0>					      ;

					      000DC P.AAM:  .ASCII  <2>\no\<0>						      ;

					      000E0 P.AAN:  .ASCII  <11>\instruction\					      ;

					      000EC P.AAO:  .ASCII  <4>\line\<0><0><0>					      ;

					      000F4 P.AAP:  .ASCII  <4>\into\<0><0><0>					      ;

					      000FC P.AAQ:  .ASCII  <4>\over\<0><0><0>					      ;

					      00104 P.AAR:  .BYTE   47							      ;

					      00105 	    .ASCII  \step type: !ACsystem, by !AC, !AC routine calls\	      ;







							    .PSECT  DBG$CODE,NOWRT,  SHR,  PIC,0



					 080C 002C5 	    .ENTRY  DBG$SHOW_STEP, Save R2,R3,R11			      ; 1702

		         5B 00000000'  EF  9E 002C7 	    MOVAB   P.AAL, R11						      ;

		         53	       6B  9E 002CE 	    MOVAB   P.AAL, SYSTEM_CS					      ; 1742

		         50 00000000G  EF  D0 002D1 	    MOVL    DBG$GB_STP_PTR, R0					      ; 1743

		         04	  01   A0  E9 002D8 	    BLBC    1(R0), 1$						      ;

		         53	  04   AB  9E 002DC 	    MOVAB   P.AAM, SYSTEM_CS					      ; 1745

		         52	  08   AB  9E 002E0 1$:     MOVAB   P.AAN, LINE_CS					      ; 1750

		         04	       60  E9 002E4 	    BLBC    (R0), 2$						      ; 1751

		         52	  14   AB  9E 002E7 	    MOVAB   P.AAO, LINE_CS					      ; 1753

		         51	  1C   AB  9E 002EB 2$:     MOVAB   P.AAP, INTO_CS					      ; 1758

		         04	  02   A0  E9 002EF 	    BLBC    2(R0), 3$						      ; 1759

		         51	  24   AB  9E 002F3 	    MOVAB   P.AAQ, INTO_CS					      ; 1761

				       51  DD 002F7 3$:     PUSHL   INTO_CS						      ; 1766

				       52  DD 002F9 	    PUSHL   LINE_CS						      ;

				       53  DD 002FB 	    PUSHL   SYSTEM_CS						      ;

				  2C   AB  9F 002FD 	    PUSHAB  P.AAR						      ;

	      00000000G  EF	       04  FB 00300 	    CALLS   #4, DBG$FAO_OUT					      ;

					   04 00307 	    RET     							      ; 1702



; Routine Size:  67 bytes







; Bliss-32 7.352	Saturday 22-AUG-1978 04:26:37	DBB3:[DEBUG.SRC]DBGMOD.B32;9					Page 16

; Digital Equipment Corporation

;

;	1768	END

;	1769	ELUDOM













;				       PSECT SUMMARY

;

;	Name		 Bytes			       Attributes

;

;  DBG$PLIT       	   308  NOWRT,  RD ,  EXE,  SHR,  LCL,  REL,  CON,  PIC,ALIGN(0)

;  DBG$CODE       	   776  NOWRT,  RD ,  EXE,  SHR,  LCL,  REL,  CON,  PIC,ALIGN(0)

;  $CODE$         	     0  NOWRT,  RD ,  EXE,NOSHR,  LCL,  REL,  CON,NOPIC,ALIGN(2)









;				LIBRARY STATISTICS

;

;					     -------- Symbols --------    Blocks

;	File				     Total    Loaded   Percent      Read

;

;  DBA4:[SYSLIB]STARLET.L32;1		      2688         3         0       108













;			COMPILER INTERNAL TIMING



;	Phase	    Faults	Cpu-time      Elapsed-time

;	LEXSYN	      350	00:21.7		00:24.1

;	FLOWAN	       24	00:01.9		00:01.9

;	DELAY	       25	00:01.3		00:01.3

;	TNBIND	       33	00:01.3		00:01.4

;	CODE	       47	00:02.2		00:02.2

;	FINAL	       86	00:04.8		00:04.9

;	Total	      565	00:33.3		00:35.8



; Size:		776 code + 308 data bytes

; Run Time:	00:33.7

; Elapsed Time:	00:36.3

; Memory Used:	223 pages

; Compilation Complete

