Trailing-Edge
-
PDP-10 Archives
-
decuslib10-05
-
43,50337/20/simddd.mac
There are 2 other files named simddd.mac in the archive. Click here to see a list.
SEARCH SIMRPA,SIMMCR,SIMMAC
SALL
RTITLE SIMDDD
SUBTTL SIMDDD, SIMDDT dummy version
Comment;
Author: Lars Enderin
VERSION: 1
Purpose:
Replaces SIMDDT for programs which do not want the standard
action on errors, ^C-REENTER, etc.
Contents:
Entry points:
DSINI start SIMDDT
DSINB entry from breakpoint
DSINE process error
DSINC return from RTS routine if garbage collection
may have been invoked
DSINR REENTER (or CONTINUE) command
DSINS removes all breakpoints
DSINM starts program execution when SIMDDT
was loaded together with main program
;
RELOC 0
MACINIT
INTERN DSSTART
EXTERN .MAIN ; SIMULA main program start address
; Used if SIMDDT loaded/linked together
; with SIMULA main program
EXTERN .JBSA,.JBUUO,.JBFF
%DSVER=:VERRTS
SUBTTL ZDN record for SIMDDT
DSSTAR: ;First word in SIMDDT module, used by SUTABS program
;XDBAS must point to this word when SIMDDT is executing.
; ZDN record for SIMDDT, not including ZSDZTE
; must be placed here
EXP <QZYS>B<%ZDNTYP>
EXP DSEND-DSSTART ;Length of SIMDDT
;Not including ZSDZTE
SUBTTL DSIN main routine
Comment;
Purposes: Performs initialization for the different types
of entries to SIMDDT.
Entries: DSINI,DSINE,DSINB,DSINR,DSINC,DSINM,DSINS
Normal exits: DSCM, accept command
DSBP, process breakpoint
Return via SIMDDT stack if error found in RTS routine
when called from SIMDDT.
Return via RTS stack if ^C command interrupted
SIMDDT processing.
Return via SIMDDT stack if entry is DSINC
Return via RTS stack if entry is DSINS
BRANCH to .MAIN+2 if entry is DSINM
Error exit: See above normal exits
;
OPDEF OUTOCT [XEC .OCOO]
DEFINE X(P)<
IRP P,<
RELOC Q'P
P: GOTO P'.
>>
PROC
X<DSINI,DSINB,DSINR,DSINS,DSINE>
DSINI.: LOWADR
LI DSSTAR
ST YDSBAS(XLOW)
DSINB.: RET
DSINR.: RET
DSINS.: RET
DSINE.: OUTSTR [ASCIZ/
?ZYQREZ SIMULA RTS Error ZYQ/]
LOWADR X1
L YDSENR(XLOW)
OUTOCT
OUTSTR [ASCIZ/
/]
RET
EPROC
SUBTTL DSINM
DSINM:: ;Start here when loaded with main prog
HRRZ X1,.JBSA
SUBI X1,DSINM-DSSTART ;SIMDDT base address
BRANCH .MAIN+2
SUBTTL OUTOCT ;[61]
IFE QDEC20,<OPDEF PBOUT [OUTCHR X1]>
.OCOO: PROC ;Output last 9 bits of X0 as 3 octal digits
SAVE <X1,X2>
LI X2,3
ROT ^D27
LOOP
ROT 3
L X1,X0
ANDI X1,7
ADDI X1,"0"
PBOUT ;[225]
AS SOJG X2,TRUE
SA
RETURN
EPROC
DSEND:
END DSINM