.TITLE DATA .IDENT /M03X/ ; RUNOFF GLOBAL SYMBOLS AND DATA BUFFERS (FORMERLY CONTAINED IN RUNOFF.MAC) ; ; AUTHOR: C. H. SPALDING ; ; MODIFIED BY ; ; C. H. SPALDING, UNIMATION, APR. '82 ; ; MODIFICATIONS ; ; CHS03 - REDUCE BLANK LINES FROM "CHAPTER," "APPENDIX," & "INDEX" ; CHS04 - ADD "ALTERNATING HEADER" COMMANDS ; CHS05 - MAKE PAGE SIZE SETTINGS AVAILABLE TO TASK BUILD ; CHS07 - DOUBLE SPACE AFTER ; CHS14 - ADD "ALTERNATING TITLE" COMMANDS ; CHS16 - USE LOCAL SYMBOLS FOR CONSTANTS ; CHS19 - ADD "AUTOSUBTITLE" COMMAND ; CHS20 - ADD OPTIONAL-TEXT COMMANDS ; CHS24 - FIX SKIP AT BOTTOM OF PAGE ; CHS27 - MISC. CHANGES TO "LIST" COMMANDS ; CHS35 - FIX "SET TABS" TO ALLOW MAX # SETTINGS; ALLOW REL. ARGUMENTS ; CHS37 - FIX "FIGURE" TO WORK AS CLAIMED; ADDED QUEUE ; CHS38 - DON'T OUTPUT BLANK PAGE AT END OF OUTPUT ; CHS39 - ADD "LAYOUT" COMMAND ; CHS40 - EXPAND "HEADER" COMMAND ; CHS43 - ADD "QUOTE CHARACTER" COMMAND ; CHS44 - ADD "!" COMMENT COMMAND AND FLAG ; CHS45 - ADD OPTIONAL-TEXT COMMAND-LINE SWITCHES ; CHS46 - CHANGE "ALTERNATING HEADER" TO "ALTERNATE" COMMAND ; CHS49 - ALLOW MULTIPLE INPUT FILES & APPENDING TO OUTPUT ; CHS50 - HAVE TASK EXTEND ITSELF WHEN INDEX/FOOTNOTE BUFFER FULL ; CHS51 - ADD "ENTRY" COMMAND & SUBINDEXING ; CHS52 - CORRECT SPACING OF UNDERLINED INDEX ENTRIES ; CHS54A- FOOTNOTE PROCESSING REWORKED ; CHS54B- ADD "FOOTNOTE LINE" COMMAND ; CHS55 - FIX DUPLICATE OUTPUT OF BLANK LINES IN AUTOPARAGRAPH MODE ; CHS56 - ADD "PAGE NAME" COMMAND ; CHS57 - ADD ARG. TO "NOTE" FOR MARGIN REDUCTIONS ; CHS58 - ADD TESTS FOR UNREASONABLE COMMAND PARAMETERS ; CHS59 - ADD LIMIT ON CHAPTERS OUTPUT ; CHS61 - CHANGES TO "LITERAL" PROCESSING ; MACRO LIBRARY CALLS .IIF NZ MULTIN, .MCALL CSI$ ;CHS49 ; SIMULATED ACCUMULATOR DEFINITIONS F.1:: .WORD 0 ;FLAG WORD S1:: .WORD 0 ;PSEUDO REGISTER ; ; FLAG BITS IN F.1 ; ; 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 RELF==4 ;RELATIVE NUMBER CONVERSION (1=YES) TXTF==10 ;COMMAND TAKES TEXT ARGUMENT (USED BY "OPTION") ;CHS20 FPGF==20 ;FLUSH PENDING PAGE (1=YES) ENDF==40 ;CORRESPONDS TO END FLAG IN TRAILING BYTE BRKF==100 ;CORRESPONDS TO BREAK FLAG IN TRAILING BYTE JUSTF==400 ;JUSTIFY TEXT PJUSTF==1000 FILLF==2000 ;FILL TEXT LITFG==4000 ;LITERAL PROCESSING FLAG SPECF==20000 ;SPECIAL COMMAND PROCESSING ; ; SWITCH WORD FLAG BIT DEFINITIONS ; 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) .IIF NZ ALTHDR, ALHSW==40 ;ALTERNATING PAGE HEADERS (1=YES) ;CHS04 .IIF NZ APNDSW, APNSW==100 ;APPEND TO OUTPUT FILE (1 = YES) ;CHS49A .IF NZ LAYSW ;CHS39A DWNSW==200 ;TOP MARGIN SWITCH (1 = PRESENT) ;CHS39A LNGSW==400 ;PAGE LENGTH SWITCH (1 = PRESENT) ;CHS39A LFTSW==1000 ;BASE LEFT MARGIN SWITCH (1 = PRESENT) ;CHS39A WIDSW==2000 ;PERM. RIGHT MARGIN SW. (1 = PRESENT) ;CHS39A .ENDC ; NZ LAYSW ;CHS39A .IIF NZ XHDRSW, HLNSW==4000 ;HEADER LENGTH SWITCH (1 = PRESENT) ;CHS40A .IIF NZ OPTXSW, OPTSW==10000 ;OPTIONAL-TEXT SWITCHES (1=PRESENT) ;CHS45 .IIF NZ SAVPS, PSZSW==20000 ;PAGE-SIZE SWITCH (1 = PRESENT) ;CHS49B ; SWITCH FLAGS (BYTE) $HDSSW::.BLKB 1 ;DISABLE PAGE HEADER (0=NO) $GCISW::.BLKB 1 ;INPUT FROM REREAD BUFFER (0=NO) $SDISW::.BLKB 1 ;INPUT FROM SECONDARY INPUT BUFFER (0=NO) $ULMSW::.BLKB 1 ;UNDERLINE MODE (0=NO BACKSPACE) $ULNSW::.BLKB 1 ;UNDERLINE SUPPRESS (0=NO) $ULSSW::.BLKB 1 ;UNDERLINE SIMULATE (0=NO) .IIF NZ SUBIDX, QTFLG::.BLKB 1 ;QUOTED CHARACTER .EVEN ; SWITCH FLAGS (WORD) $AUTSW::.BLKW 1 ;AUTOPARAGRAPH ACTIVE (0=NO) $CFLSW::.BLKW 1 ;FLAG CAPITALIZE ENABLE (0=NO) $HDRSW::.BLKW 1 ;PRINT PAGE HEADERS (0=NO) $HFLSW::.BLKW 1 ;FLAG HYPHENATE ENABLE (0=NO) $HPHSW::.BLKW 1 ;HYPHENATION ACTIVE (0=NO) $NUMSW::.BLKW 1 ;NUMBER PAGES (0=NO) $PGPSW::.BLKW 1 ;PAGE PENDING (0=NO) $PERSW::.BLKW 1 ;PUNCTUATION DOUBLE SPACING (0=NO) $SBPSW::.BLKW 1 ;SUBPAGE MODE ACTIVE (0=NO) $ULLSW::.BLKW 1 ;UNDERLINE LOCK ON (0=NO) .IIF NZ ALTHDR, $ALHSW::.BLKW 1 ;ALTERNATING HEADER ENABLE (0=NO) ;CHS04 .IIF NZ ALTTIT, $ALTSW::.BLKW 1 ;ALTERNATING TITLE ENABLE (0=NO) ;CHS14 .IIF NZ SKPFIX, $IDXAC::.BLKW 1 ;INDEX BEING OUTPUT (0=NO) ;CHS24 .IIF Z LSTPG, $EOJSW::.BLKW 1 ;FLAG FOR END OF JOB ;CHS38 .IIF NZ SUBIDX, $SFLSW::.BLKW 1 ;SUBINDEX FLAG ENABLE (0=NO) ;CHS51B ;IMPURE STORAGE .IIF NZ PRMCHK+LITMRG, MAXMRG==132. ;MAX. RT. MARGIN ACCEPTABLE ;CHS58 RMARG:: .WORD 0 ;TEXT RIGHT MARGIN (REL. TO "BASMRG") LMARG:: .WORD 0 ;TEXT LEFT MARGIN (REL. TO "BASMRG") ; (ABOVE 2 LINES MUST BE IN GIVEN ORDER!) PRMRG:: .BLKW 1 ;PERMANENT RIGHT MARGIN .IF NZ LAYOUT ;CHS39 BASMRG::.BLKW 1 ;BASE LEFT MARGIN ;CHS39 .IIF NZ ALTSHF, PBMRG::.BLKW 1 ;PERMANENT BASE LEFT MARGIN ;CHS46 TOPMRG::.BLKW 1 ;BLANK LINES AT TOP OF PAGE ;CHS39 .ENDC ; NZ LAYOUT ;CHS39 .IF NZ EXTHDR ;CHS40 HDRLEN::.BLKW 1 ;# LINES IN PAGE HEADER ;CHS40 HLMARG::.BLKW 1 ;HEADER LEFT MARGIN (REL. TO "BASMRG") ;CHS40 HRMARG::.BLKW 1 ;HEADER RIGHT MARGIN (REL. TO "BASMRG") ;CHS40 .ENDC ; NZ EXTHDR ;CHS40 .IIF NZ ALTSHF, ASHIFT::.BLKW 1 ;OFFSET FOR ALTERNATE PAGES ;CHS46 CAS:: .WORD 0 WCAS:: .BLKW 1 ;WORD CAPITALIZE CONVERSION VALUE APNDN:: .BLKW 1 ;CURRENT APPENDIX LETTER CHPTN:: .BLKB 1 ;CURRENT CHAPTER NUMBER MAXHL==5 ;MAX # HEADER LEVELS ;CHS16 .BLKB MAXHL ;CURRENT HEADING LEVEL NUMBERS ;CHS16 .EVEN ;CHS16 .IF NZ ATOSUB ;CHS19 DEFAST==1 ;DEF. MAX HDR LVL FOR AUTOSUBTITLE ;CHS19 INIAST==0 ;INITIAL AUTOSUBTITLE SETTING ;CHS19 ASTLVL::.WORD CHPTN+1+INIAST ;POINTER TO MAX HDR LEVEL FOR A.S. ;CHS19 .ENDC ; NZ ATOSUB ;CHS19 CMADR:: .BLKW 1 ;SPECIAL PROCESSING COMMAND ADDRESS PAGENO::.WORD 0 ;PAGE NUMBER .IIF NZ AUTFIX, AUTFLG::.BLKW 1 ;BLANK-LINE FLAG FOR AUTOPARAGRAPH ;CHS55A PARPT:: .BLKW 1 ;PARAGRAPH PAGE TEST COUNT PARSP:: .BLKW 1 ;PARAGRAPH SPACING COUNT PARIND::.WORD 0 ;PARAGRAPH INDENTATION NSPNG:: .WORD 0 ;LINE SPACING LINEC:: .WORD 0 ;LINE COUNT AS PAGE COMPOSED SUBPGE::.WORD 0 ;SUBPAGE NUMBER LITCM:: .BLKW 1 ;SAVED EXPECTED COMMAND ADDRESS (LITERAL) LITSV:: .BLKW 1 ;SAVED FLAGS MASK ON LITERAL PROCESSING .IIF NZ LITSPC, LITSP:: .BLKW 1 ;SAVED LINE SPACING ;CHS61A .IIF NZ LITMRG, LITRM:: .BLKW 1 ;SAVED RIGHT MARGIN ;CHS61B LSTPT:: .BLKW 1 ;LIST ELEMENT PAGE TEST COUNT LSTVS:: .BLKW 1 ;LIST ELEMENT VERTICAL SPACING LSTKP:: .BLKW 1 ;CURRENT LIST STACK POINTER MAXLST==5 ;MAX. NUMBER OF NESTED LISTS ;CHS16 LSTKN ==4 ;NO. WORDS IN STACK PER NESTED LIST ;CHS27A LSTK:: .BLKW MAXLST*LSTKN ;LIST STACK (MAXLST ENTRIES) ;CHS27A LSTCT:: .BLKW 1 ;CURRENT LIST ELEMENT COUNT NOTCM:: .BLKW 1 ;SAVED EXPECTED COMMAND ADDRESS (NOTE) NOTLM:: .BLKW 1 ;NOTE SAVED LEFT MARGIN NOTRM:: .BLKW 1 ;NOTE SAVED RIGHT MARGIN NOTSV:: .BLKW 1 ;SAVED FLAG WORD ON NOTE PROCESSING .IF NZ OPTTXT ;CHS20 OPTBL:: ;TABLE OF OPTION SWITCHES ;CHS20 OPTACT::.BLKB 1 ;BUFFER FOR CURRENT ACTIVE OPTION ;CHS20 .BLKB OPTTXT ;TABLE OF OPTION FLAGS ;CHS20 .ENDC ; NZ OPTTXT ;CHS20 .IIF NZ FIGFIX, FIGTAB::.BLKB FIGFIX ;BUFFER FOR REQUEST QUEUE ;CHS37 .IIF NZ QTCHAR, QTCHR:: .BLKB 1 ;ACTIVE QUOTE CHARACTER ;CHS43 TABTL==32. ;MAX. NUMBER OF TAB STOPS .BYTE -1 ;DUMMY TAB STOP FOR ERROR CHECK ;CHS35B TABTAB::.BLKB TABTL ;TABLE OF TAB STOP POSITIONS NTABS:: .BLKB 1 ;NUMBER OF TABS SET ;CHS35 .EVEN ;CHS16 NLPG:: .WORD 0 ;NUMBER OF LINES PER PAGE (TEMP) PNLPG:: .WORD 0 ;NUMBER OF LINES PER PAGE .IIF Z NEWFTN, FOOTC:: .WORD 0 ;TEMP. COUNT OF FOOTNOTE LINES ;CHS54A FOOTP1::.WORD 0 FOOTP2::.WORD 0 XBOT:: .BLKW 1 ;BEGINNING OF ALLOCATED INDEX AREA FOOTP3::.WORD 0 XTOP:: .BLKW 1 ;HIGHEST VIRTUAL ADDRESS IN PROGRAM FOOTWB::.BLKB 162. .IF NZ AUTOFN ;CHS54B IFNLEN==15. ;DEFAULT LINE LENGTH ;CHS54B IFNCHR=='_ ;DEFAULT CHARACTER FOR LINE ;CHS54B FTNLEN::.BLKB 1 ;LENGTH OF FOOTNOTE LINE ;CHS54B FTNCHR::.BLKB 1 ;CHARACTER FOR FOOTNOTE LINE ;CHS54B .ENDC ; NZ AUTOFN ;CHS54B .EVEN FOOTS1::.WORD FOOTWB-1 FOOTS2::.WORD FOOTWB-1 .WORD FOOTWB+162. XFIRST::.WORD 0 .IF NZ MULTIN ;CHS49 LOOP:: .BLKB 1 ;FLAG FOR MULTIPLE INPUT FILES ;CHS49 INPUTN::.BLKB 1 ;INPUT FILE COUNTER ;CHS49 CSI$ ;DEFINE CSI CONTROL BLOCK OFFSETS ;CHS49 .EVEN ;CHS49 CSIBLK::.BLKB C.SIZE ;DATA BLOCK FOR COMMAND PARSER ;CHS49 LIMIT:: .LIMIT ;CHS49 .ENDC ; NZ MULTIN ;CHS49 ; USER-SET TEMPS INDCT:: .WORD 0 TTLIN==80. ;MAX. LENGTH OF TTY OUTPUT LINE ;CHS TTBUF:: .BLKB TTLIN TTILIN==82. TTIBUF::.BLKB TTILIN .EVEN HFIN:: .WORD 160.,0,0 INBUF:: .BLKB 162. .EVEN HFOUT:: .WORD 256.,0,0 OUBUF:: .BLKB 256. .EVEN ; GENERAL T1:: .WORD 0 T2:: .WORD 0 LCH:: .WORD 0 ;LAST (PREVIOUS) CHARACTER .IIF NZ PDPAR, NLCH:: .WORD 0 ;NEXT TO LAST CHARACTER ;CHS07 NCNT:: .WORD 0 LOWPAG::.WORD 0 ;LOWEST PAGE TO PRINT HGHPAG::.WORD 0 ;HIGHEST PAGE TO PRINT .IF NZ CHSW ;CHS59 LOCHAP::.WORD 0 ;LOWEST CHAPTER TO OUTPUT ;CHS59 HICHAP::.WORD 0 ;HIGHEST CHAPTER TO OUTPUT ;CHS59 .ENDC ; NZ CHSW ;CHS59 PAGHD:: .BLKB 6 ;PAGE NUMBER TEXT PROTOTYPE .EVEN LPPG:: .BLKW 1 ;HARDWARE LINES PER PAGE HWLPP:: .WORD HWPLN ;INITIAL VALUE FOR LPPG INI$SW::.WORD HYPSW!SPLSW ;INITIAL VALUE FOR $SWTCH IUL:: .WORD 'N ;INITIAL UNDERLINE SWITCH .IIF NZ BLSW, CHPSKP::.WORD CHBL1 ;INITIAL VALUE FOR EXTRA ;CHS03 ; BLANK LINES FOR CHAPTER HEADERS ;CHS03 .IF NZ TKBPS ;USE ADJUSTABLE VALUES TO SET... ;CHS05 INLPG:: .WORD INLPG$ ;INITIAL VALUE FOR PAGE LENGTH ;CHS05 IRMRG:: .WORD IRMRG$ ;INITIAL VALUE FOR RIGHT MARGIN ;CHS05 .ENDC ; NZ TKBPS ;CHS05 .IF NZ LAYOUT ;CHS39 ITMRG:: .WORD ITMRG$ ;INITIAL BLANK LINES AT TOP OF PAGE ;CHS39 IBMRG:: .WORD IBMRG$ ;INITIAL BASE LEFT MARGIN ;CHS39 .ENDC ; NZ LAYOUT ;CHS39 .IF NZ EXTHDR ;CHS40 IHLEN:: .WORD HDLEN ;INITIAL LINES IN PAGE HEADERS ;CHS40 .ENDC ; NZ EXTHDR ;CHS40 ; LINE TEMPS LINBK:: .WORD 0 SPCNT:: .WORD 0 LSTSP:: .WORD 0 LINNSC::.WORD 0 LNIN1:: .WORD LINBF-1 LNIN2:: .WORD LINBF-1 .WORD LINBF+160. LOUT1:: .WORD 0 LOUT2:: .WORD 0 LINBF:: .WORD 0 .BLKB 162. .EVEN GCINP:: .WORD 0 GCIN2:: .WORD 0 GCSCH:: .BLKB 1 ;SAVED CHARACTER FOR REPROCESSING ULMCH:: .BLKB 1 ;SAVED CHARACTER FOR UNDERLINING .EVEN SDINP:: .WORD SDBUF-1 ;SECONDARY INPUT LINE DESCRIPTOR .WORD SDBUF-1 ; .WORD SDBUF+132. ;SECONDARY INPUT BUFFER GUARD WORD SDBUF:: .BLKB 134. ;SECONDARY INPUT BUFFER .EVEN CMSTP:: .WORD CMBF-1 CMST2:: .WORD CMBF-1 .WORD CMBF+132. CMBF:: .BLKB 134. ECMBF==.-1 .EVEN TTLLEN =80. ;MAXIMUM TITLE LENGTH ;CHS56 TTLP1:: .WORD TTLBUF-1 ;POINTER TO START OF TITLE TTLP2:: .WORD TTLBUF-1 ;POINTER TO END OF TITLE .WORD TTLBUF+TTLLEN ;CHS56 TTLBUF::.BLKB TTLLEN+2 ;BUFFER FOR TITLE ;CHS56 .EVEN STTLLN =80. ;MAXIMUM SUBTITLE LENGTH ;CHS56 STTLP1::.WORD STTLBF-1 ;POINTER TO START OF SUBTITLE STTLP2::.WORD STTLBF-1 ;POINTER TO END OF SUBTITLE .WORD STTLBF+STTLLN ;CHS56 STTLBF::.BLKB STTLLN+2 ;BUFFER FOR SUBTITLE ;CHS56 .EVEN .IF NZ PAGNAM ;CHS56 PGNMLN =40. PGNMP1::.WORD PGNMBF-1 ;POINTER TO START OF PAGE NAME ;CHS56 PGNMP2::.WORD PGNMBF-1 ;POINTER TO END OF PAGE NAME ;CHS56 .WORD PGNMBF+PGNMLN ;GUARD WORD FOR PAGE NAME BUFFER ;CHS56 PGNMBF::.BLKB PGNMLN+2 ;BUFFER FOR PAGE NAME ;CHS56 .EVEN ;CHS56 .ENDC ; NZ PAGNAM ;CHS56 EXSP1:: .WORD 0 EXSP2:: .WORD 0 EXSP3:: .WORD 0 NSPCH:: .WORD 0 ;COUNT OF NON-SPACING CHARS. ON LINE XNSPCH::.BLKW 1 ;COUNT OF 'S IN INDEX ENTRY ;CHS52 LSTNSP::.WORD 0 ULPOS:: .WORD 0 CPOS:: .WORD 0 ;COUNT OF CHARS. CURRENTLY ON LINE ULPBF:: .BLKB 132. .EVEN ;PARAMETERS SHUP=='^ ;UPPER CASE INDICATOR SHDN=='\ ;LOWER CASE INDICATOR CWARN=='_ ;QUOTE NEXT CHARACTER ULCHI=='& ;UNDERLINE COMMAND IN INPUT DATA ULCHS==32 ;UNDERLINE CHARACTER IN INTERNAL STORAGE ; MUST BE .LT. QTS QTSP=='# ;QUOTED (NONEXPANDABLE) SPACE IN INPUT FILE .IIF NZ EXTEND, INCR ==16. ;# 32.-WORD BLOCKS TO EXTEND TASK ;CHS50 HWPLN==66. ;HARDWARE LINES PER PAGE ILSTTP==1 ;INITIAL LIST ELEMENT PAGE-TEST COUNT ;CHS27D ILSTVS==1 ;INITIAL LIST ELEMENT VERTICAL SPACING IPARIN==5 ;INITIAL PARAGRAPH INDENT IPARTP==2 ;INITIAL PARAGRAPH PAGE TEST IPARVS==1 ;INITIAL PARAGRAPH VERTICAL SPACING .IF NZ TKBPS ;USE ADJUSTABLE VALUE FOR... ;CHS05 IRMRG$==60. ;INITIAL RIGHT MARGIN ;CHS05 INLPG$==56. ;INITIAL LENGTH OF PAGE ;CHS05 .IFF ;...OR USE CODED VALUE FOR... ;CHS05 IRMRG==60. ;INITIAL RIGHT MARGIN INLPG==56. ;INITIAL LENGTH OF PAGE .ENDC ; -NZ TKBPS ;CHS05 .IF NZ LAYOUT ;CHS39 ITMRG$==0 ;INITIAL BLANK LINES AT TOP OF PAGE ;CHS39 IBMRG$==0 ;INITIAL BASE LEFT MARGIN ;CHS39 .ENDC ; NZ LAYOUT ;CHS39 ILMRG==0 ;INITIAL LEFT MARGIN LOLMAR==9. ;INITIAL LEFT MARGIN INDENT ON LISTS LSLMAR==4 ;LEFT MARGIN INDENT ON EMBEDDED LISTS NASPAC==1 ;VERTICAL SPACING AFTER "NOTE" HEADING NFSPAC==2 ;FINAL VERTICAL SPACING AFTER NOTES NHSPAC==2 ;INITIAL VERTICAL SPACING BEFORE NOTES .IF NZ NOTETP ;CHS57B NTESTP==6. ;PAGE TEST COUNT FOR "NOTE" ;CHS57B .IFF ;CHS57B NTESTP==8. ;PAGE TEST COUNT FOR "NOTE" ;CHS16 .ENDC ; -NZ NOTETP ;CHS57B .IF NZ NOTEMR ;CHS57A NPMARG==5. ;MARGIN CHANGE ON NOTES ;CHS57A .IFF ;CHS57A NPMARG==15. ;PRIMARY MARGIN CHANGE ON NOTES NSMARG==5 ;SECONDARY MARGIN CHANGE ON NOTES .ENDC ; -NZ NOTEMR ;CHS57A SPCNG==1 ;STANDARD LINE SPACING CHBL1==7 ;DEFAULT # BLANK LINES BEFORE CHAP HDR ;CHS16 CHBL2==1 ;# BLANK LINES AFTER "CHAPTER N" ;CHS16 CHBL3==3 ;# BLANK LINES AFTER CHAPTER TITLE ;CHS16 HDLEN==5 ;# LINES IN PAGE HEADER ;CHS16 HLBL1==3 ;# BLANK LINES PRECEEDING HEADER LEVEL ;CHS16 HLBL2==1 ;# BLANK LINES AFTER HEADER LEVEL ;CHS16 MXSPC==5 ;MAXIMUM "SPACING" VALUE ALLOWED ;CHS16 INDXBL==2 ;# BLANK LINES AFTER "INDEX" ;CHS16 .IIF NZ SUBIDX, XINDNT==2 ;DEFAULT INDENT FOR SUBINDEXING ;CHS51B ;CHARACTERS FOR CREF CR==15 ;CARRIAGE RETURN LF==12 ;LINE FEED SPC==40 ;SPACE FF==14 ;FORMFEED TAB==11 ;HORIZONTAL TAB CMA==', ;COMMA ALT==33 ;ESCAPE BS==10 ;BACKSPACE CHARACTER NXS==177 ;NON-EXPANDABLE SPACE (INTERNAL) QTS==37 ;QUOTED SPACE. MUST BE SPC-1 FOR COMPARES PD=='. ;PERIOD. FOR SPECIAL SPACING AFTER PERIOD EOF=='Z-100 ;END OF FILE LPUS=='_ ;LINE-PRINTER UNDERSCORE IN OUTPUT FILE SEMI=='; ;SEMICOLON WCAP=='< ;WORD CAPITALIZE CHARACTER .IIF NZ EXCMNT, EXCL=='! ;EXCLAMATION POINT ;CHS44 .IIF NZ SUBIDX, SBIDX=='> ;FLAG FOR SUBINDEXING ;CHS51B .END