Google
 

Trailing-Edge - PDP-10 Archives - cuspbinsrc_2of2_bb-fp63b-sb - 10,7/rms10/rmssrc/debsym.mac
There are 7 other files named debsym.mac in the archive. Click here to see a list.
UNIVERSAL DEBSYM - SYMBOLS FOR RMSDEB
SUBTTL	S. COHEN
SEARCH	RMSMAC,RMSINT

;COPYRIGHT (C) 1977, 1979 BY
;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
;
;
;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
;ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH LICENSE AND WITH THE
;INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY  OTHER
;COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
;OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF THE  SOFTWARE  IS  HEREBY
;TRANSFERRED.
;
;THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT  NOTICE
;AND  SHOULD  NOT  BE  CONSTRUED  AS A COMMITMENT BY DIGITAL EQUIPMENT
;CORPORATION.
;
;DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
;SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
;

SUBTTL	TABLES TO SUPPORT PARSING

; $P - CALL OPRPAR ROUTINE, GIVING ERROR IF SPECIFIED TOKEN NOT THERE
;
DEFINE	$P(TYP$,ERR$<ISC>)<
	$CALL	P$'TYP$
	JUMPF	L$ERRU(ERR$)
>

; $TAB - DEFINES CODE VALUES FOR PARSING KEYWORDS
;
DEFINE	$TAB(PFX$,FLD$)<
	MX%'PFX$==-1			;;INIT FOR TABLE ITERATION
	IRP FLD$,<
		PFX$'%'FLD$==MX%'PFX$+1	;;SET CURR SYMBOL
		MX%'PFX$==MX%'PFX$+1	;;MOVE TO NEXT SYMBOL
	>
>

$TAB	(,<$CLOSE,$CONNECT,$CREATE,$DELETE,$DISCONNECT,$DISPLAY,$ERASE,$FIND,$FLUSH,$GET,$MESSAGE,$NOMESSAGE,$OPEN,$PUT,$TRUNCATE,$UPDATE,ASSIGN,CHANGE,DDT,DEFINE,DISPLAY,EXIT,HELP,INFORMATION,TAKE,UNDEFINE>)

$TAB	(CHA,<KEY>)
$TAB	(DEF,<DATAFIELD,FAB,RAB,XAB>)
$TAB	(DFSW,<POSITION,SIZE,TYPE>)
$TAB	(DFT,<ASCII,FILE,SIXBIT,DECIMAL,OCTAL>)
	DFT%INT==DFT%DEC			;SET DEFAULT TO DECIMAL
$TAB	(DISD,<DATA,KEY>)
$TAB	(INF,<ALL,CONTEXT,FABS,DATAFIELDS,RABS,XABS>)

;SYMBOL DEFINITIONS
;
DA$TYP==0	;MAKE PSEUDO-ARGBLK
XB$AREA==XB$ALL	;CREATE SYNONYM USING MORE COMMON TERM
K%NM==7		;SIZE OF BLOCK POINTED TO BY KNM FIELD
K%BF==^D52	;SIZE OF KEY ALLOCATED FOR INDEXED FILE
P%OS==8	;SIZE OF ARRAY

;RMSDEB TRAPS
;
DEFINE $DEBERR<
  H$RET(BSI)			;;BYTE SIZE INVALID FOR INPUT
  H$RET(IER)			;;INTERNAL ERROR
  H$RET(ISC)			;;INVALID SYNTAX IN COMMAND
  H$RET(IVF)			;;INVALID VALUE IN FLD
  H$RET(NAD)			;;NAME ALR DEFINED
  H$RET(NNK)			;;NAME NOT KNOWN
  H$RET(NNR)			;;NAME NOT A RAB
  H$RET(NPS)			;;NO POSITION SPECIFIED
  H$RET(NRC)			;;NO RAB CURRENT
  H$RET(RNC)			;;RAB NOT CONNECTED
  H$RET(TMV)			;;TOO MANY VALS SPEC
  H$RET(TFU)			;;TABLE FULL
  H$RET(VOF)			;;VAL OVFLOW BUFFER
  H$RET(WDT)			;;VAL HAS WRONG DATA TYPE
>
$ERRD(DB.)
$DEBERR

SUBTTL	STRUCTURE DEFINITIONS

;DDT SYMBOL TABLE ENTRY FOR ARGBLKS CREATED BY RMSDEB
;
$BLOCK	(DD)			;DDT COMPAT SYMTAB ENTRY
  $BYTE	(DD.FLG,4)		;FLAG BITS
  $BYTE	(DD.NAM,^D32)		;NAME IN RADIX50 (GULP)
  $WORD	(DD.VAL)		;LOCATION OF FAB/RAB/XAB OR DATAFIELD
$EOB

;RMS ARGBLK-FIELD DESCRIPTOR
;
$BLOCK	(RF)			;ARGBLK DESCRIPTOR
  $WORD	(RF.BP)			;BYTE PTR TO FLD (ALWAYS NON-0...0 ENDS TABLE)
  $BYTE	(RF.CNT,HALF)		;# OF SYM VALUES ASSOC WITH FIELD
  $BYTE	(RF.FLAG,QTR)		;FLAGS
  $BYTE	(RF.TYP,QTR)		;"DATA TYPE" OF SWITCH-VALUE
  $WORD	(RF.NAM)		;SPACE FOR NAME OF FLD IN ASCIZ
$EOB
$BLOCK	(SYV)			;SYMBOLIC VALUE
  $BYTE	(SYV.NM,HALF)		;SIXBIT NAME (3 CHARS)
  $BYTE	(SYV.VL,HALF)		;VALUE ASSOC WITH NAME
$EOB

; FMT OF TOKEN IN PARSED DATA BLK
;
$BLOCK	(TK)
  $BYTE	(TK.LEN,HALF)			;;# OR WORDS IN TOK BLK (INCL)
  $BYTE	(TK.COD,HALF)			;;TYPE OF TOKEN
  $WORD	(TK.VAL,0)			;;VAR-LEN VALUE
$EOB

; USER DATA FLD DESCRIPTOR
;
$BLOCK	(UF)
  $BYTE	(UF.BID,HALF)			;PSEUDO-ARGBLK TYPE
  $BYTE	(UF.BLN,HALF)			;LEN OF UF BLK
  $BYTE	(UF.TYP,4)			;DATA TYPE OF FIELD
  $BYTE	(UF.SIZ,^D14)			;# OF BYTES IN FLD
  $BYTE	(UF.POS,HALF)			;BYTE OFFSET FROM BEGIN OF RECORD
$EOB

; DATA TYPE CASES OF RMS ARGBLK FIELDS
;
$BLOCK	(DT)
  $WORD	(DT%DEC)		;DECIMAL VALUE
  $WORD	(DT%DATE)		;STANDARD DATE/TIME FMT
  $WORD	(DT%OCT)		;OCTAL VALUE
  $WORD	(DT%STR)		;VAR-LEN STRING, ALLOC BUFFER FOR IT
  $WORD	(DT%SYA)		;FIELD CONTAINS ADDR OF PREV DEF BLK (EG. F$XAB)
				;(BY NAME ON DEFINE, IN OCTAL ON DISPLAY)
  $WORD	(DT%SYB)		;SYMBOLIC BITS
  $WORD	(DT%SYV)		;SYMBOLIC VALUE
$EOB

;FLAG BIT DEFINITIONS IN RAB/FAB/XAB TABLE

RF%ARY==1B35			;FIELD IS AN ARRAY
RF%BUF==1B34			;FIELD PTS TO A BUFFER
RF%INV==1B33			;INVISIBLE -- DO NOT DISPLAY FIELD

END