Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-03 - decus/20-0078/ddt/simds7.mac
There is 1 other file named simds7.mac in the archive. Click here to see a list.
	SUBTTL	ZBR record
DSZBRS:	;Start of ZBR record, XDZBR must point to here
	;Note that this record is placed within the SIMDDT record
	;It is not recognized by the garbage collector.
	;ZBR contains all variable data areas in SIMDDT and
	;it must not be placed in the high segment

	;Create ZDN record
	<QZYS>B<%ZDNTYP>
	YDSCZBR-DSZBRS+1
	CZBEN=QBRN*2+2+1
DEFINE	CZBE	<
	CZBEN=CZBEN+QZBEL
	XWD	CZBEN,0
	BLOCK	QZBEL-1

	>

DSZBRU:	XWD	CZBEN,0		;Link to unused ZBE entries
QZBRUN=DSZBRU-DSZBRS

DSZBRF:	BLOCK	QBRN*2		;Breakpoint line number entries


	;Create all ZBE entries linked together
	;First link pointer is placed in DSZBRU

	REPEAT	<QZBEN-1>,<CZBE>
	XWD	0,0		;Last ZBE entry
	BLOCK	QZBEL-1


	;Create SIMDDT stack
DSZBRK:	;Bottom address
	XWD	0,0		;Stack underflow address, initialize in DSIS
	BLOCK	QSTAKL



	;Temporary work area for SIMDDT
	;Not relocated by garbage collector

YDSST0:	0			;[242] Status of TTY channel, saved
YDSIPO:	0			;Input byte pointer
YDSOPO:	0			;Output byte pointer
YDSIPE:	0			;Extra input byte pointer
YDSFLG:	0
YDSTTX:	0			;Temporary text variable
	0
YDST1:	0			;Temporary work area
YDST2:	0			;Temporary work area
YDST3:	0			;Temporary work area
YDSTIC:	0			;Save area for input pointer
YDSILP:	0			;Identifier start pointer
YDSSTP:	0			;Save identifier type
YDSTYP:	0			;Save area for type
YDSTIP:	BLOCK	3		;Temporary save area used in DSIP routine
YDSBRD:	0			;Dummy ZBR record
				;used in input and output command
				;when the ZBE entries hold the
				;identification info.

YDSCZL:	0			;Address of current line number entry
				;Pointer to current block
YDSCZS:	0			;Start  of ZLN table containing YDSCZL

YDSEBL:	0			;Save area for effective block level
YDSSLN:	0			; [2] Save line number table pointer, used in DSRUC,DSPL and DSSS
YDSNLN:	0			; [2] Pointer to subblock entry in ZLN
YDSSLS:	0			;Save start of ZLN table used in DSCH
YDSSBA:	0			;Save current block instance address
				;[2] Save areas for new environment variables
				;used in INSPECT
YDSRZL:	0			;YDSCZL before last INSPECT /RETURN
YDSRZS:0
YDSRZE:0			;YDSZLN before last INSPECT /RETURN

YDSSZL:0			;YDSCZL at SIMDDT entry
YDSSZS:0			;YDSCZS at SIMDDT entry
YDSSZE:0			;YDSZLN at SIMDDT entry

YDSSZN:0			;Save area for YDSZLN
YDSSYM:	0			;Save area for symbol
	0			;Save area for symbol
YDSTRA:	XWD	700000,0	;YDSTXT array elements reservation bits
				;0 if free and 1 if in use
				;3 first elements used by text buffers
YDSRRA:	0			;YDSREF array elements reservation bits
YDSTRB:	0			;Save area for YDSTRA
YDSRRB:	0			;Save area for YDSRRA
YDSOBR:	0			;Save area for XDZBR not relocated
YDSOST:	0			;Save area for stack pointer not relocated
YDSOXPDP:0			;Save area for RTS pointer
YDSOSAGCN:0			;Save area for number of garbage collections
YDSNDL:0			;New display line
				;initiated in DSGL and used in DSDP
YDSCDL:0			;Current display line found in source file or
				;calculated. Initial value 0
YDSKDL:	Z			;[242] Count of lines to display
YDSLDL:0			;Last display line from input display command
YDSDZLN:0			;Display module if display file opened
				;since SIMDDT was entered this time
YDSCDZLN:0			;Current display module found in display command

YDSVFA:	Z			;[242] First address to dump by VARIABLES or ALL

YDSSPV:	BLOCK	2		;[2] Store system procedure value
				; 2 words needed for text.Main
YDSSQU:0			;[41] Qualification prototype saved in DSNI
YDSTHD:BLOCK	3		;[41] Dummy ZSD entry used for THIS and QUA
YDSSENR:0			;[41] Save area for error number
YDSPZSD: XWD 077103,2		;[166] Dummy ZSD entry for type procedures
YDSTPZSD: XWD 1,2		;[166] Dummy ZSD entry for type procedures created in
	EXP	0,0		;[166] DSLV with type inserted
YDSSSA:	Z			;[166] Save procedure name address
YDSDUZLN: 0			;[151]  Dummy ZLN entry used in SIMULATION and SIMSET classes


	;Instructions used to proceed from a breakpoint
	;These instructions are relocated in DSIS
YDSBRETUR:
	ST	XDTA,YDSBSAV
	XCT	X1		;Interpret special instructions
				;[157] Status flags are not restored.
				;[157] They have no significance
				;[157] between breakpoints.
	JRST	@YDSBSAV	;[157]
				;Execute breakpoint instruction or
				;return if special instruction
YDSLEAVE:
	Z			;Breakpoint instruction placed here
	JRST	@YDSBCOM	;Return
	AOS	YDSBCOM
	JRST	@YDSBCOM	;Return if skip instruction

YDSCZBR:Z			;Current breakpoint pointer to ZBR
				;Address of ZBR ENTRY =(XDZBR)+3+(YDSCZBR)
	LIT
	IFG <.-DSSTAR-QDSLG+<3*<QDSION+5>/5+ZTE%S>> <PRINTX QDSLG TOO SMALL>
	RELOC	QDSLG-<3*<QDSION+5>/5+ZTE%S>
DSEND:	;Last word in SIMDDT not including ZDSZTE
	SUBTTL	ZTE record

	;This text record is not created dynamically by SIMRTS
	;It is part of the SIMDDT.ABS file
	;The address of ZDSZTE is placed
	;in the static low area and
	;known by g.c. so it will not be deleted
	;Not included in SIMDDT length used by g.c.
ZDSZTE:	;Text record for input output texts
	;Create ZDN record
	<ZTE%V>B<%ZDNTYP>
	XWD	3*<QDSION+5>,3*<QDSION+5>/5+ZTE%S
	BLOCK	3*<QDSION+5>/5		;3 Buffers with QDSION+5 characters

	END	DSINM