.NLIST .ENABL LC ; Allow lower case chars ; ; ; ; RUNOFF PREFIX FILE ; ; Extensive additions by J. CLEMENT ; Bonner Lab, Rice Univ. ; Box 1892, Houston, Tx. ; 77251 ; ; Conditional definitions ; ; Note: RT11 symbol is defined by RT build command files ; so you do not need to change it. It is documented here for your ; convenience. ; ;RT11 =0 ; remove (;) if running on RT-11 or TSX dblbuf =0 ; add (;) for no double buffering on RT-11 $FLORD =1 ; add (;) to remove escape seq for FLORIDA DATA ;$DIAB =1 ; remove (;) to define escape seq for Diablo etc. ;$12pt =1 ; remove (;) to define varsp for 12 pitch Diablo ;$DEBUG =1 ; remove (;) to get debugging aids ; Debugging aids are only needed if you make major changes to ; RNO and need to look at the output in detail. H$$PHN =0 ; add (;) if autohyphenation not desired $DIGR =0 ; add (;) for no heuristic hyphenation $EIS =0 ; add (;) for CPU without EIS ;RSTS =0 ; remove (;) if running on RSTS/E ; NOTE: RSTS compatability not guaranteed !! $PASS =0 ; add (;) to remove 2 pass mode ; ; Parameters ; ; These parameters may be made installation dependent ; You may change these to set up your installation defaults. ; LINSP=2. ; Partial spacing per line (do not change) ; Linsp defines how may partial lines/sub or superscript ; normally this is 2. ; COMSIZ=40. ; Maximum chars/command label SUBMAX=20. ; Maximum chars/substitution IFMAX=10. ; Maximum chars/if label LISSIZ=5. ; Number of lists available ILSTTP=2. ; INITIAL LIST ELEMENT PAGE TEST COUNT ILSTVS=1. ; INITIAL LIST ELEMENT VERTICAL SPACING IPARIN=5. ; Initial paragraph indentation IPARTP=2. ; INITIAL PARAGRAPH PAGE TEST IPARVS=1. ; INITIAL PARAGRAPH VERTICAL SPACING IRMRG=60. ; INITIAL RIGHT MARGIN ILMRG=0. ; INITIAL LEFT MARGIN ITMRG=0. ; INITIAL TOP MARGIN IHSPAC=3. ; Initial header spacing HWPLN=66. ; Hardware lines per page INLPG=58. ; INITIAL LENGTH OF PAGE LOLMAR=9. ; INITIAL LEFT MARGIN INDENT ON LISTS LSLMAR=4. ; LEFT MARGIN INDENT ON EMBEDDED LISTS NHSPAC=2. ; INITIAL VERTICAL SPACING BEFORE NOTES NASPAC=1. ; Vertical spacing after note title NFSPAC=2. ; FINAL VERTICAL SPACING AFTER NOTES NPMARG=20. ; PRIMARY MARGIN CHANGE ON NOTES NSMARG=5. ; SECONDARY MARGIN CHANGE ON NOTES ISPNG=1. ; STANDARD LINE SPACING CBNSP=3. ; CHAR OFFSET FOR CHANGE BARS MINPG=16.*LINSP ; Min page length in partial lines MINLN=16. ; Min line length MAXPS=5. ; Max paragraph spacing allowed LEVSIZ=6. ; Max number of header levels ; ; Note the number of header levels may be ; ; increased, but only the first 6 may have ; ; pre and post-fixes. ; ; The following control the .DISPLAY commands ; CH.HD1=10. ; Number of characters in pre-header CH.HD2=10. ; Number of characters in post-header HD.MAX=16. ; This must be larger than CH.HD1,CH.HD2, or 12. ; ; Size of buffers ; IBFSZ=512. ; Input buffer size ; This needs to be larger than the maximum input line. ; You may increase or decrease this as needed. In general it should ; never be smaller than 132. ; OBFSZ=256. ; Output buffer size ; This needs to be larger than the maximum output line if /-CR is used. ; This is not used in RT-11 version ; ULNSZ=150. ; Underline buffer size ; This needs to be larger than the maximum number of characters/line ; for your printer if either /UL:S or /UL:L are used. ; ; .ifdf RT11 TRCLN=18. ; This must be even number .iff TRCLN=40. ; Traceback line size must be even number .endc ; ; | | | | | | ; | | | | | | ; V V V V V V ; ; ====> The rest of this file should not be changed <==== ; ====> If you make any changes after this notice <==== ; ====> You do so at YOUR OWN RISK. <==== ; ; ^ ^ ^ ^ ^ ^ ; | | | | | | ; | | | | | | ; ; ; FLAG BITS IN F.1 (Do not mess with these) ; ; NOTE: THE LOW ORDER BYTE CORRESPONDS TO A LEGAL COMMAND MASK ; THAT IS TESTED AGAINST THE TRAILING BYTE OF THE ; APPROPRIATE COMMAND NAME. ; NOTF= 1 ; NOTE PROCESSING ACTIVE FOTF= 2 ; FOOTNOTE PROCESSING ACTIVE LCKF= 4 ; Parameters locked off TEXF= 10 ; Text on RELF= 40 ; RELATIVE NUMBER CONVERSION (1=YES) BRKF= 100 ; CORRESPONDS TO BREAK FLAG IN TRAILING BYTE ; 200 ; Marks last byte in table ; JUSTF= 400 ; JUSTIFY ENABLED PJUSTF= 1000 ; PREVIOUS JUSTIFY FLAG FILLF= 2000 ; FILL ENABLED LITFG= 4000 ; LITERAL PROCESSING FLAG TXDEF= 10000 ; Text deferred flag IFFLG= 20000 ; If flag PARF= 40000 ; Paragraph flag ; ; SWITCH WORD FLAG BIT DEFINITIONS FOR S1 (Do not mess with these) ; FFDSW=1 ; SIMULATE FORM FEEDS (0=YES) HYPSW=2 ; HYPHENATE OUTPUT TEXT (1=YES) PAUSW=4 ; PAUSE BETWEEN PAGES (1=YES) SPLSW=10 ; SPOOL TEXT FILE (1=YES) UPCSW=20 ; FORCE ALL TEXT TO UPPER CASE (1=YES) CRSW=40 ; No CR,LF switch EVESW=100 ; Even output ? ODDSW=200 ; Odd output ? DEBSW=400 ; Debug switch TTSW=1000 ; Terminal output switch PASSW=2000 ; Pass switch (causes 2 passes) WARSW=4000 ; Warning suppress switch ; ; SWITCH FLAGS (BYTE) (Do not mess with these) ; Definitions ; SW.TDS=1 ; Temporary disable SW.TD2=2 ; Temporary disable 2 SW.HDR=4 ; Temporary disable during headers SW.EDS=20 ; Disable during equation SW.IDS=40 ; Disable during input SW.DIS=200 ; Permanent disable FL.ALL=1000 ; Disable all FL.LIT=2000 ; Literal disable FL.DIS=100000 ; Permanent disable ; ; ; ; Bits for LAYOUT (Do not mess with these) ; LAY.CT=1 ; Center title/subtitle LAY.RT=2 ; Title to right LAY.OT=4 ; Alternate right left title LAY.CP=10 ; Center title/subtitle LAY.LP=20 ; Page to left LAY.OP=40 ; Alternate right left page LAY.NB=100 ; Page number at bottom of page LAY.TB=200 ; Title at bottom of page ; ; INDEX Table format: (Do not mess with these) ; ; byte 1+2 Foreward link to next entry ; byte 3 Status byte X.ENT=200 ; Index entry follows page/chapter.. bytes X.SPG=100 ; Subpage byte present X.PAG=40 ; Page word present X.CH=20 ; Chapter byte present X.AP=10 ; Appendix byte present X.SEN=7 ; these bits number subentries. ; byte 4-n Subpage/page word/chapter/appendix bytes ; byte n+1-m Index entry if X.ENT ; ; List elements stack (Do not mess with these) ; LS.CNT=0 ; Current number LS.PRE=2 ; Pre char LS.PST=4 ; Post char LS.CHR=5 ; Current char LS.VSP=6 ; Vertical spacing LS.FMT=7 ; Element format LS.MRG=10 ; saved margin LS.SIZ=12 ; Size of entry ; ; Definitions for text header (Do not mess with these) ; BFHED=9. ; # BYTE I/O HEADER ; ; 1= Skip before line count ; 2= Status byte ; 3= Skip after line count ; 4= First spacing count ; 5= Second spacing count ; 6= Real spaces/expandable spaces ; 7= Spaces before break in extra spaces ; 8= -1=Extra to left 0=Extra to right ; 9= Micro spaces to add per space ; ; ; Line header status bits (Do not mess with these) ; HD.BAR=1 ; Output change bar HD.VAR=2 ; Enable variable spacing HD.LIN=4 ; Line to output HD.TXD=40 ; Text deferred stat. ; HD.FIG=100 ; Skip optional (not figure) HD.SKP=200 ; Skip count only ; ; Escape sequence options (Do not mess with these) ; ES.LCK=1 ; Sequence is lock/unlock sequence ES.VSP=2 ; Vertical spacing param present ES.HSP=4 ; Horiz spacing param present ES.PSP=10 ; Spacing is permanent change ES.WRD=40 ; Lock till next word ES.CHR=100 ; Lock till next char ES.NUL=200 ; Dummy status ; ; Tab options (Do not mess with) ; TB.R=200 ; Right justify TB.L=100 ; Left justify TB.C=40 ; Center justify TB.CNT=37 ; Ellipses count ; ; Parameters ; REQSIZ=5 ; Maximum nesting of .REQ ; ; Character definitions (should not be messed with) ; BS=10 ; BACKSPACE CHARACTER TAB=11 ; TAB LF=12 ; LIN FEED FF=14 ; FORM FEED CR=15 ; Carriage return character PAGCHR=23 ; Page character TOCX=24 ; Toc entry follows SXCHR=25 ; Subindex entry follows INDX=26 ; Index entry follows REPO=27 ; Repeat on output TABO=30 ; Internal output tab character ELIP=31 ; Internal ellipses output character EOF=32 ; END OF FILE ESC=33 ; ESCAPE CHARACTER ULCHS=34 ; UNDERLINE CHARACTER IN INTERNAL STORAGE CPER=35 ; Marks period char. SPC=40 ; SPACE PD='. ; PERIOD. FOR SPECIAL SPACING AFTER PERIOD CMA=', ; COMMA LPUS='_ ; LINE-PRINTER UNDERSCORE IN OUTPUT FILE SEMI='; ; SEMICOLON BAR='| ; BAR FOR CHANGE BAR NXS=177 ; NON-EXPANDABLE SPACE (INTERNAL) ; ; MACRO DEFINITIONS ; ; BIT TEST EQUAL AND BRANCH ; .MACRO BITEQ ARG1,ARG2,BDST BIT ARG1,ARG2 BEQ BDST .ENDM ; ; BIT TEST NOT EQUAL AND BRANCH ; .MACRO BITNE ARG1,ARG2,BDST BIT ARG1,ARG2 BNE BDST .ENDM ; ; BIT TEST EQUAL BYTE AND BRANCH ; .MACRO BITEQB ARG1,ARG2,BDST BITB ARG1,ARG2 BEQ BDST .ENDM ; ; BIT TEST NOT EQUAL BYTE AND BRANCH ; .MACRO BITNEB ARG1,ARG2,BDST BITB ARG1,ARG2 BNE BDST .ENDM ; ; COMPARE EQUAL AND BRANCH ; .MACRO CMPEQ ARG1,ARG2,BDST CMP ARG1,ARG2 BEQ BDST .ENDM ; ; COMPARE NOT EQUAL AND BRANCH ; .MACRO CMPNE ARG1,ARG2,BDST CMP ARG1,ARG2 BNE BDST .ENDM ; ; COMPARE EQUAL BYTE AND BRANCH ; .MACRO CMPEQB ARG1,ARG2,BDST CMPB ARG1,ARG2 BEQ BDST .ENDM ; ; COMPARE NOT EQUAL BYTE AND BRANCH ; .MACRO CMPNEB ARG1,ARG2,BDST CMPB ARG1,ARG2 BNE BDST .ENDM ; ; TEST EQUAL AND BRANCH ; .MACRO TSTEQ ARG1,BDST TST ARG1 BEQ BDST .ENDM ; ; TEST NOT EQUAL AND BRANCH ; .MACRO TSTNE ARG1,BDST TST ARG1 BNE BDST .ENDM ; ; TEST EQUAL BYTE AND BRANCH ; .MACRO TSTEQB ARG1,BDST TSTB ARG1 BEQ BDST .ENDM ; ; TEST NOT EQUAL BYTE AND BRANCH ; .MACRO TSTNEB ARG1,BDST TSTB ARG1 BNE BDST .ENDM ; ; Define unsigned divide macro ; R0 = ARG2/ARG1 R1 = remainder ; .MACRO DIV$,ARG1,ARG2 .ifdf $EIS MOV ARG2,R1 ; Dividend CLR R0 DIV ARG1,R0 .iff MOV ARG2,R0 MOV ARG1,R1 CALL $DIV .endc .endm .LIST