Trailing-Edge
-
PDP-10 Archives
-
decuslib10-05
-
43,50337/19/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