Google
 

Trailing-Edge - PDP-10 Archives - bb-h138f-bm - 7-sources/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 /DAW
SEARCH	RMSMAC,RMSINT

;
;	COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1977, 1986.
;	ALL RIGHTS RESERVED.
;
;	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 THAT IS NOT SUPPLIED BY DIGITAL.
;
;
SUBTTL	RMSDEB PRODUCT REVISION HISTORY

COMMENT	\
Revision history
RMSDEB edit	Module(s)	Why
-----------------------------------
1		DEBTOP(1)	(DAW,18-Feb-82) Increase stack size so
				?PDL overflow doesn't occur.

2		DEBACT(1)	(DAW,19-Feb-82) Allocate 6 words for KNM
		DEBSYM(1)	incase $DISPLAY is done - RMS assumes you have
				allocated 6 words for the key name.

3		DEBTOP(2)	(DAW,19-Feb-82) Explain errors better.
				(type error code and what it means).

\;End of revision history
SUBTTL	DEBSYM REVISION HISTORY

COMMENT	\
Revision history
RMSDEB edit	Module edit	Why
-----------------------------------
2		1		(DAW,19-Feb-82) Define new parse type:
				DT%ST6 - Parse variable length string but
				allocate at least 6 words for it.

577		2		(AN, 8-Nov-85) Add $FREE, TRACE, NOTRACE

\;End of revision history
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,$FREE,$GET,$MESSAGE,$NOMESSAGE,$OPEN,$PARSE,$PUT,$READ,$RENAME,$SEARCH,$TRUNCATE,$UPDATE,$WRITE,ASSIGN,CHANGE,DDT,DEFINE,DISPLAY,EXIT,HELP,INFORMATION,NOTRACE,TAKE,TRACE,UNDEFINE>)

$TAB	(CHA,<KEY>)
$TAB	(DEF,<DATAFIELD,FAB,NAM,RAB,TYP,XAB>)				;M510
$TAB	(DFSW,<POSITION,SIZE,TYPE>)
$TAB	(DFT,<ASCII,EBCDIC,FILE,SIXBIT,DECIMAL,OCTAL,FLOATING,DOUBLEFLOATING,GFLOATING,LONGINTEGER,PACKED,UNSIGNED>)
	DFT%INT==DFT%DEC			;SET DEFAULT TO DECIMAL
$TAB	(DISD,<DATA,KEY>)
$TAB	(DSN,<DATA,KEY,EXP,RES,NODE,DEVICE,DIRECTORY,NAME,TYPE,VERSION>) ;a577
$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
XB$CONFIG==XB$CFG ; " "						;a554
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%ST6)		;Same as DT%STR except 6-words minimum
  $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
  $WORD (DT%SYZ)		;OPTIONAL SYMBOLIC VALUE (SKIP IF ZERO)  ;A411
  $WORD (DT%SBV)		;SYMBOLIC BIT VECTOR (VALUES ARE BIT #S) ;A510
$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