Trailing-Edge
-
PDP-10 Archives
-
decuslib10-05
-
43,50337/08/simrpa.mac
There are 3 other files named simrpa.mac in the archive. Click here to see a list.
00010 SUBTTL Definitions used chiefly in the run time system
00020 SALL
00030 SEARCH SIMMAC,SIMMCR
00040 RUNIV SIMRPA RTS parameters and definitions ;[104]
00050
00060
00070
00080 COMMENT;
00090 AUTHOR: Lars Enderin 1973-1974
00100 PURPOSE: Definition of macros, constants, and symbols used in run time
00110 system modules and a few compiler modules.
00120 Must be assembled together with SIMMAC and SIMMCR before
00130 assembling any RTS module.
00140 ;
00150
00160 IF1,<END>
00170 PRINTX <UPDATES: [14 22 12,24,41,44,61,62,63,104,166,225,242,243,244,247,273,304] 12-Apr-78/LE>
00180
00190 SUBTTL MACRO DEFINITIONS
00200
00210 ;Access to low segment variables
00220
00230 DEFINE LOWADR(A)<
00240 IFNB <A>,<XLOW=A>
00250 IFB <A>,<XLOW=XIAC>
00260 HRRZ XLOW,.JBOPS
00270 >
00280 DEFINE SETLOW(A)<
00290 IFNB <A>,<XLOW=A>
00300 IFB <A>,<XLOW=XIAC>
00310 >
00320
00330 ;Miscellaneous macros
00340 DEFINE IFNONE(A)<CAIN A,NONE>
00350 DEFINE TRIMSTACK <SUB XPDP,[1,,1]>
00360 DEFINE ERRMAC(A)<IRP A,<
00370 DEFINE A'ERR(N,MSG)<
00380 RTSERR <N+Q'A'ENO>
00390 IFN QDEBUG,<NOP [ASCIZ/
00400 MSG
00410 /]
00420 >> ;;[41] To continue after a RTS error
00430
00440 DEFINE A'ERC(C,N,MSG)<
00450 RTSERR <C>,<N+Q'A'ENO>
00460 IFN QDEBUG,<NOP [ASCIZ/
00470 MSG
00480 /]
00490 >>>>
00500
00510 DEFINE RIGHTHALF(A)<
00520 SIZE(Q,A)
00530 IFN <Q-^D18>,<Q==0>
00540 IFN <%'A-^D35>,<Q==0>
00550 IFE <Q>,
00560 <CFAIL A is not right half>
00570 >
00580
00590
00600 DEFINE SAVEALLACS(y)<;;[242]
00610 EXCH X16,.JBOPS
00620 q==YUUOAC
00630 IFNB <y>,<q==y>;;[242]
00640 ST X17,q+X17(X16)
00650 LI X17,q(X16)
00660 BLT X17,q+X15(X16)
00670 L X17,X16
00680 EXCH X17,.JBOPS
00690 ST X17,q+X16(X16)
00700 L X17,q+X17(X16)
00710 PURGE q
00720 >
00730
00740 ;-- Macros for SIMDDT interface ---;
00750
00760 DEFINE CALLOW <SETZM YDSCSW(XLOW)> ;;Allow ^C - REENTER
00770 DEFINE CDEFER <AOS YDSCSW(XLOW)> ;;Defer call to SIMDDT to obj.code ret.
00780 DEFINE CENABLE <SOS YDSCSW(XLOW)>
00790 DEFINE CFORBID <HRROS YDSCSW(XLOW)>
00800
00810
00820 ;[41]
00830 ;Macro for retrieval of inserted value
00840 ;from SIMDDT at error recovery
00850
00860 DEFINE NEWVALUE(X)=<
00870 LOWADR
00880 L X,YDSIAR(XLOW)
00890 >