Trailing-Edge
-
PDP-10 Archives
-
decuslib10-04
-
43,50325/iomacs.beg
There are no other files named iomacs.beg in the archive.
! File: IOMACS.BEG
!
! This work was supported by the Advanced Research
! Projects Agency of the Office of the Secretary of
! Defense (F44620-73-C-0074) and is monitored by the
! Air Force Office of Scientific Research.
! DEFINITIONS NEEDED BY MODULES THAT DO I/O
!-------------------------------------------------
!--------------------------------
!1. SPECIAL CHARACTER DEFINITIONS
BIND
EOL =#15, ! END OF LINE (CARRIAGE RETURN)
FORMF =#14, ! FORM FEED
LINEF =#12, ! LINE FEED
HTAB =#11, ! PDP10 HORIZONTAL TAB
BELL =#7,
DOLLAR =#44,
BLANK =#40;
!----------------------------------
!2. OUTPUT DEVICE SELECTOR VALUES
!
! WHEN THE GLOBAL VARIABLE "DEVICE" IS SET TO ONE OF THESE
! VALUES, THE CORRESPONDING DEVICE IS USED AS THE OUTPUT
! DEVICE BY THE I/O ROUTINES (ESP. "OUTXSTRING" AND "OUTPUT"
! IN THE LOIO MODULE).
!
! BE VERY CAREFUL IF YOU CHANGE THESE VALUES. CERTAIN
! ASSUMPTIONS ARE MADE ABOUT THEM. FOR EXAMPLE, SOME
! ROUTINES RELY ON THE FACT THAT TTYDEV IS THE SAME AS
! LOGICAL "TRUE".
EXTERNAL
DEVICE;
BIND
TTYDEV=1, ! TTY
BINDEV=2, ! BINARY DEVICE (NOT IMPL. YET)
LSTDEV=4, ! LISTING DEVICE
ERRDEV=LSTDEV+TTYDEV; ! ERROR DEVICE
!-------------------------------------
!3. I/O ROUTINES (EXTERNAL) AND MACROS
! THE GENERAL LOW-LEVEL I/O ROUTINES
EXTERNAL
OUTPUT,
OUTXSTRING,
OUTNUM,
OUTCRLF,
OUTSEVERAL;
! MACROS USED TO CALL THE ABOVE
MACRO
MSG(STR) = (PLIT ASCIZ 'STR')<29,7> $,
OUTS(STR) = OUTXSTRING((PLIT ASCIZ STR)<29,7>,64,0) $,
OUTMSG(STR) = OUTS('STR') $,
OUTP(PTR) = OUTXSTRING((PTR)<29,7>,64,0) $,
OUTPXLIM(PTR,LIMIT) = OUTXSTRING((PTR)<29,7>,LIMIT,0) $,
OUTPXFLD(PTR,WIDTH) = OUTXSTRING((PTR)<29,7>,WIDTH,WIDTH) $,
OUTSXFLD(STR,WIDTH) = OUTXSTRING((PLIT(STR))<29,7>,WIDTH,WIDTH) $,
OUTSTN(NTE) = OUTXSTRING(NT[NTE,0,29,7],10,0) $,
OUTSTE(STE) = OUTSTN(.ST[STE,NAMEPTR]) $,
OUTBLANK(N) = OUTSEVERAL(BLANK,N) $,
OUTDEC(NUM,REQD) = OUTNUM(NUM,10,REQD) $,
OUTOCT(NUM,REQD) = OUTNUM(NUM, 8,REQD) $,
CRLF = OUTCRLF()$,
TAB = OUTPUT(HTAB) $;
!-----------------------------------------------
!4. MACRO TO CONVERT LOWER CASE ALPHABETIC INPUT
MACRO UPPERCASE(CHAR) = (CHAR AND NOT #40) $;