Trailing-Edge
-
PDP-10 Archives
-
decuslib10-07
-
43,50450/utlmac.req
There are no other files named utlmac.req in the archive.
00100 % UTLMAC.REQ VERSION 2.1 % SWITCHES NOLIST;
00200 REQUIRE 'B11MAC.REQ' SOURCE;
00300 %
00400 RSX-11M UTILITY SERVICES MACRO LIBRARY FOR BLISS-11
00500
00600 AUTHOR:
00700 K. E. GORLEN
00800 RM. 2017, BG. 12A
00900 DIVISION OF COMPUTER RESEARCH AND TECHNOLOGY
01000 NATIONAL INSTITUTES OF HEALTH
01100 BETHESDA, MD. 20014
01200 PHONE: (301) 496-5361
01300 NOVEMBER 7,1975
01400
01500 SEE RSXMAC.DOC FOR DOCUMENTATION.
01600
01700 %
01800 LINKAGE ?UTL.0=BLISS(REGISTER=0);
01900 LINKAGE ?UTL.01=BLISS(REGISTER=0,REGISTER=1);
02000 LINKAGE ?UTL.012=BLISS(REGISTER=0,REGISTER=1,REGISTER=2);
02100 LINKAGE ?UTL.345=BLISS(REGISTER=3,REGISTER=4,REGISTER=5);
02200 !
02300 ! $CDTB -- CONVERT DECIMAL TO BINARY
02400 !
02500 MACRO $CDTB(INSTR,NUM,TERM)=BEGIN
02600 EXTERNAL ?UTL.0 $NAME('$CDTB');
02700 LOCAL ?.NEXT; ! ADDRESS OF NEXT BYTE IN INPUT STRING
02800 ?.SAVEREG(R1,R2);
02900 ?.NEXT=$NAME('$CDTB')(INSTR);
03000 ?.SELECT(NUM,<NUM=.R1>); ! RETURN CONVERTED NUMBER
03100 ?.SELECT(TERM,<TERM=.R2>); ! RETURN TERMINAL CHARACTER
03200 .?.NEXT END$;
03300 !
03400 ! $COTB -- CONVERT OCTAL TO BINARY
03500 !
03600 MACRO $COTB(INSTR,NUM,TERM)=BEGIN
03700 EXTERNAL ?UTL.0 $NAME('$COTB');
03800 LOCAL ?.NEXT; ! ADDRESS OF NEXT BYTE IN INPUT STRING
03900 ?.SAVEREG(R1,R2);
04000 ?.NEXT=$NAME('$COTB')(INSTR);
04100 ?.SELECT(NUM,<NUM=.R1>); ! RETURN CONVERTED NUMBER
04200 ?.SELECT(TERM,<TERM=.R2>); ! RETURN TERMINAL CHARACTER
04300 .?.NEXT END$;
04400 !
04500 ! ?.ODCVT -- CONVERT ASCII TO BINARY WITH OCTAL DEFAULT
04600 !
04700 MACRO ?.ODCVT(RESULT,INLEN,INSTR,ERR)=BEGIN
04800 EXTERNAL ?UTL.345 ?.ODCVT;
04900 SWITCHES UNAMES;
05000 OPLABEL ?.NOERR;
05100 OPCODE ?.BCC=BCC;
05200 ?.SAVEREG(R2);
05300 ?.ODCVT(RESULT,INLEN,INSTR);
05400 ?.BCC(?.NOERR);
05500 .R2;
05600 DO (ERR) WHILE 0;
05700 ?.NOERR:END$;
05800 !
05900 ! ?.DCCVT -- CONVERT ASCII TO BINARY WITH DECIMAL DEFAULT
06000 !
06100 MACRO ?.DCCVT(RESULT,INLEN,INSTR,ERR)=BEGIN
06200 EXTERNAL ?UTL.345 ?.DCCVT;
06300 SWITCHES UNAMES;
06400 OPLABEL ?.NOERR;
06500 OPCODE ?.BCC=BCC;
06600 ?.SAVEREG(R2);
06700 ?.DCCVT(RESULT,INLEN,INSTR);
06800 ?.BCC(?.NOERR);
06900 .R2;
07000 DO (ERR) WHILE 0;
07100 ?.NOERR:END$;
07200 !
07300 ! $EDMSG -- EDIT MESSAGE
07400 !
07500 MACRO $EDMSG(OUTSTR,INSTR,ARGBLK,OUTLEN,NXTARG)=BEGIN
07600 EXTERNAL ?UTL.012 $NAME('$EDMSG');
07700 LOCAL ?.LAST; ! ADDRESS OF LAST BYTE IN OUTPUT STRING
07800 ?.LAST=$NAME('$EDMSG')(OUTSTR,INSTR,ARGBLK);
07900 ?.SELECT(OUTLEN,<OUTLEN=.R1>);
08000 ?.SELECT(NXTARG,<NXTARG=.R2>);
08100 .?.LAST END$;
08200 !
08300 ! $RLCB -- RELEASE CORE BLOCK
08400 !
08500 MACRO $RLCB(FREEHD,BLKSZ,BLKADR)=BEGIN
08600 EXTERNAL ?UTL.012 $NAME('$RLCB');
08700 $NAME('$RLCB')(FREEHD,BLKSZ,BLKADR) END$;
08800 !
08900 ! $RQCB -- REQUEST CORE BLOCK
09000 !
09100 MACRO $RQCB(FREEHD,BLKSZ,ERR)=BEGIN
09200 EXTERNAL ?UTL.01 $NAME('$RQCB');
09300 LOCAL ?.BLKADR; ! ADDRESS OF ALLOCATED BLOCK
09400 SWITCHES UNAMES;
09500 OPLABEL ?.NOERR;
09600 OPCODE ?.BCC=BCC;
09700 ?.SAVEREG(R2);
09800 ?.BLKADR=$NAME('$RQCB')(FREEHD,BLKSZ);
09900 ?.BCC(?.NOERR);
10000 .R2;
10100 DO (ERR) WHILE 0;
10200 ?.NOERR:.?.BLKADR END$;
10300 SWITCHES LIST;