File: SPEAK.LS of Disk: V50/Source/Source-Listing-FORTRAN-2
(Source file text) 


RALF V50A   24-JUL-20    PAGE 1

            /       SPEAK - Types out messages from the database
            /       Also includes TTY output routines that unpack
            /       packed sixbit into mixed case ASCII.
            /
                    FIELD1  ADVTTY
            
00000 0000  TTY,    0                       / TTY Output routine, dupe of FRTS
00001 6002          IOF                     / Protect from race conditions
00002 7450          SNA                     / Input or output?
00003 5235          JMP     KBD             / Input - read character
00004 3261          DCA     HANGPT          / Output - save char
00005 6214          RDF
00006 1226          TAD     CDIF00
00007 3224          DCA     CDFX
00010 6201          CDF     0
00011 1657          TAD%    TOCHR           / Output character status in FRTS
00012 7740          SMA SZA CLA             / If gt 0, char backed up
00013 5227          JMP     BUSY            / Else must wait
00014 1657  LOOP,   TAD%    TOCHR           / Get the status
00015 7104          CLL RAL                 /Busy flag in link
00016 7230          CLA CML RAR             /Complement of busy in sign
00017 1261          TAD     HANGPT
00020 7510          SPA                     /If tty not busy, 
00021 6046          TLS                     /Send it
00022 3657          DCA%    TOCHR           /Store pos or neg, backed up or busy
00023 6001  TTYRET, ION                     /Interrupts back on
00024 7402  CDFX,   HLT                     /Caller's field
00025 5600          JMP%    TTY             /Return
            
00026 6203  CDIF00, CIF CDF
            
00027 6211  BUSY,   CDF     10              /Busy, must wait. Call Field 0 HANG routine
00030 6202          CIF     0
00031 4662          JMS%    HANGPT+1
00032 0451          0451                    / TTUHNG
00033 6201          CDF     0
00034 5214          JMP     LOOP            / Try output again
            
00035 6214  KBD,    RDF
00036 1226          TAD     CDIF00
00037 3224          DCA     CDFX
00040 6201          CDF     0
00041 1660          TAD%    TICHR           / Any input?
00042 7650          SNA CLA
00043 5251          JMP     WAIT            / No, wait
00044 1660  GETIN,  TAD%    TICHR           / Get character
00045 3261          DCA     HANGPT          / Save
00046 3660          DCA%    TICHR           / Clear buffer
00047 1261          TAD     HANGPT
00050 5223          JMP     TTYRET          / Return
            
00051 6211  WAIT,   CDF     10
00052 6202          CIF     0
00053 4662          JMS%    HANGPT+1        /Hang
00054 0465          465                     /KBUHNG
00055 6201          CDF     0
RALF V50A   24-JUL-20    PAGE 1-1

00056 5244          JMP     GETIN   /Get input
00057 0004  TOCHR,  4
00060 0005  TICHR,  5
00061 0000  HANGPT, ADDR    #HANG
00062 0000  
            /
            / Terminal line input routine. Used because the FRTS input is quite limited.
            / This one handles scope rubouts and allows lower case input.
            / Inputs: Array Returned characters, stored one sixbit per array word
            /               (The FORTRAN input routine is set up this way to unpack)
            /       Size    Number of characters to allow
            /       Prompt Prompt string
                    FIELD1  RDLIN
            /
                    ENTRY   RDLINE
00000 1030  RDLINE, JA      #RLST
00001 0063  
            #RLXR,  ORG     .+10
00012 2204          TEXT    +RDLINE+
00013 1411  
00014 1605  
00015 1100  #RLRET, SETX    #RLXR
00016 0002  
00017 1110          SETB    #RLBAS
00020 0023  
00021 1030          JA      .+3
00022 0024  
            #RLBAS, ORG     .+6
            BUFPT,  ORG     .+3
            BUFLEN, ORG     .+3
            
                    ORG     #RLBAS+30
00053 0040          FNOP
00054 1030          JA      #RLRET
00055 0015  
00056 0040          FNOP
00057 0000  #RGOBK, 0;0
00060 0000  
            #RLRTN, BASE    #RLBAS
00061 1030          JA      #RGOBK
00062 0057  
00063 0006  #RLST,  STARTD
00064 0210          0210
00065 6400          FSTA    #RGOBK,0
00066 0057  
00067 0200          0200
00070 1100          SETX    #RLXR
00071 0002  
00072 1110          SETB    #RLBAS
00073 0023  
00074 0101          LDX     0,1
00075 0000  
00076 6200          FSTA    #RLBAS
00077 0710          FLDA%   #RLBAS,1+
00100 6202          FSTA    BUFPT
00101 0710          FLDA%   #RLBAS,1+
RALF V50A   24-JUL-20    PAGE 1-2

00102 6203          FSTA    BUFLEN
00103 0005          STARTF
            /
            /       Pass down size to '8' code
            /
00104 1100          SETX    BUFSIZ  
00105 0147  
00106 0603          FLDA%   BUFLEN
00107 0003          FNEG                    / Make it negative
00110 0020          ATX     0               / Pass buffer len
00111 1100          SETX    #RLXR
00112 0002  
00113 4000          TRAP4   GETLIN          / Get input line
00114 0000  
00115 1030          JA      #RLRTN          / And return
00116 0061  
            / Input reader
            
                    FIELD1  GETLN
            
00000 0000  GETLIN, 0
00001 7200          CLA
00002 3366          DCA     OFFSET          / Start at offset zero
00003 1750          TAD%    SCOPT
00004 0351          AND     K200
00005 3364          DCA     SCOPE
00006 1763          TAD%    BUFFLD+1        / Get CDF for buffer
00007 0376          AND     FLDMSK
00010 7106          CLL RTL
00011 7004          RAL
00012 1373          TAD     CDFG
00013 3275          DCA     BUFCDF
            /
            / Go get an input character
            /
00014 4767  GETNXT, JMS%    PTTY+1          / Called with zero to get char
00015 3377          DCA     INCH            / Save input
            /
            / Specials?
            /
00016 1377          TAD     INCH
00017 1352          TAD     MDEL            / Delete?
00020 7650          SNA CLA
00021 5310          JMP     DELETE          / Handle that
00022 1377          TAD     INCH
00023 1353          TAD     MCR             / CR?
00024 7650          SNA CLA
00025 5333          JMP     ENTER           / End of line, let's go.
00026 1377          TAD     INCH
00027 1355          TAD     MSPC            / Less than space?
00030 7710          SPA CLA
00031 5305          JMP     BELL            / Nope, ignore
00032 1377          TAD     INCH
00033 1357          TAD     LWRA            / Is it lowercase?
00034 7710          SPA CLA
00035 5245          JMP     UPPER           / No, store it
RALF V50A   24-JUL-20    PAGE 1-3

00036 1377          TAD     INCH
00037 1360          TAD     LWRZ
00040 7700          SMA CLA
00041 5245          JMP     UPPER           / More than lowercase z
00042 1377          TAD     INCH
00043 1361          TAD     AMINA           / Adjust to uppercase
00044 3377          DCA     INCH
            
00045 1366  UPPER,  TAD     OFFSET
00046 1347          TAD     BUFSIZ          / Room left?
00047 7700          SMA CLA
00050 5305          JMP     BELL            / Bell if not
00051 1377          TAD     INCH
00052 4767          JMS%    PTTY+1          / Echo it
00053 4255          JMS     STORE           / Store this character
00054 5214          JMP     GETNXT          / Get more
            / Store a character in the output buffer
            / using the current offset
            /
            
00055 0000  STORE,  0
00056 1366          TAD     OFFSET
00057 1366          TAD     OFFSET
00060 1366          TAD     OFFSET          / Count FPP words
00061 1765          TAD%    BUFPTR+1        / Pointer to exponent word
00062 3362          DCA     BPT
00063 1374          TAD     K27             / Exponent 27 for integer
00064 4274          JMS     STO
00065 4274          JMS     STO             / Zero high word
00066 1377          TAD     INCH            / Char value
00067 0375          AND     SIXMSK          / Convert to sixbit
00070 4274          JMS     STO             / Store in buffer
00071 6211          CDF     10              / Back to my field
00072 2366          ISZ     OFFSET          / One more in the buffer
            /       NOP                     / Really shouldn't overflow
00073 5655          JMP%    STORE           / Return
00074 0000  STO,    0
00075 7402  BUFCDF, HLT                     / Gets CDF for buffer field
00076 3762          DCA%    BPT
00077 2362          ISZ     BPT             / Next word
00100 5674          JMP%    STO             / Return if no skip
00101 1275          TAD     BUFCDF
00102 1370          TAD     BS              / Next field
00103 3275          DCA     BUFCDF
00104 5674          JMP%    STO
            
00105 1356  BELL,   TAD     BEL             / Warn the user
00106 4767          JMS%    PTTY+1
00107 5214          JMP     GETNXT
            
00110 1366  DELETE, TAD     OFFSET          / How far into the buffer are we?
00111 7650          SNA CLA
00112 5305          JMP     BELL            / Ignore extra deletes
00113 1364          TAD     SCOPE
00114 7650          SNA CLA
00115 5325          JMP     DUMBDL          / Simple fortran-format delete
RALF V50A   24-JUL-20    PAGE 1-4

00116 1370          TAD     BS
00117 4767          JMS%    PTTY+1
00120 1371          TAD     SPC
00121 4767          JMS%    PTTY+1
00122 1370          TAD     BS
00123 4767          JMS%    PTTY+1
00124 5327          JMP     FIXOFF          / Fix the offset
00125 1372  DUMBDL, TAD     K334            / Backslash
00126 4767          JMS%    PTTY+1
00127 7240  FIXOFF, CLA CMA
00130 1366          TAD     OFFSET
00131 3366          DCA     OFFSET
00132 5214          JMP     GETNXT
            
00133 1354  ENTER,  TAD     CR              / Send a RETURN
00134 4767          JMS%    PTTY+1
00135 1366  CLRLP,  TAD     OFFSET          / Is there space available?
00136 1347          TAD     BUFSIZ
00137 7700          SMA CLA
00140 5345          JMP     CLRDN
00141 1371          TAD     SPC
00142 3377          DCA     INCH
00143 4255          JMS     STORE
00144 5335          JMP     CLRLP
00145 6203  CLRDN,  CIF CDF 0
00146 5600          JMP%    GETLIN
            
00147 0000  BUFSIZ, 0
00150 7726  SCOPT,  7726                    / Scope flag in OS/8
00151 0200  K200,   200
00152 7401  MDEL,   -377                    / Delete 
00153 7563  MCR,    -215
00154 0215  CR,     215
00155 7540  MSPC,   -240
00156 0207  BEL,    207
00157 7437  LWRA,   -341
00160 7405  LWRZ,   -373
00161 7740  AMINA,  -40                     / Add to "a" to make "A"
            BPT,
00162 0000  BUFFLD, ADDR BUFPT+1
00163 0032  
            SCOPE,
00164 0000  BUFPTR, ADDR    BUFPT+2
00165 0033  
            OFFSET,
00166 0000  PTTY,   ADDR    TTY
00167 0000  
00170 0010  BS,     10
00171 0240  SPC,    240
00172 0334  K334,   334
00173 6201  CDFG,   CDF 0
00174 0027  K27,    27
00175 0077  SIXMSK, 77
00176 0007  FLDMSK, 7
00177 0000  INCH,   0
            /
RALF V50A   24-JUL-20    PAGE 1-5

            / Fortran-callable message printer
            / Put here to avoid wasting the rest of the page.
            /
                    ENTRY   SIXOUT
00200 1030  SIXOUT, JA      #STRT
00201 0263  
            #SXR,   ORG     .+10
00212 2311          TEXT    +SIXOUT+
00213 3017  
00214 2524  
00215 1100  #SRET,  SETX    #SXR
00216 0202  
00217 1110          SETB    #SBASE
00220 0223  
00221 1030          JA      .+3
00222 0224  
            #SBASE, ORG     .+6
            CNT,    ORG     .+3
            SFLAG,  ORG     .+3
            
                    ORG     #SBASE+30
00253 0040          FNOP
00254 1030          JA      #SRET
00255 0215  
00256 0040          FNOP
00257 0000  #SGOBK, 0;0
00260 0000  
            #SRTN,  BASE    #SBASE
00261 1030          JA      #SGOBK
00262 0257  
00263 0006  #STRT,  STARTD
00264 0210          0210
00265 6400          FSTA    #SGOBK,0
00266 0257  
00267 0200          0200
00270 1100          SETX    #SXR
00271 0202  
00272 1110          SETB    #SBASE
00273 0223  
00274 0101          LDX     0,1
00275 0000  
00276 6200          FSTA    #SBASE
00277 0710          FLDA%   #SBASE,1+
00300 6400          FSTA    BUF             / Buffer pointer
00301 0152  
00302 0710          FLDA%   #SBASE,1+       / Count
00303 6202          FSTA    CNT
00304 0710          FLDA%   #SBASE,1+       / Carriage control flag
00305 6203          FSTA    SFLAG
00306 0005          STARTF
00307 0602          FLDA%   CNT
00310 1100          SETX    COUNT
00311 0144  
00312 0020          ATX     0
00313 0603          FLDA%   SFLAG
00314 0021          ATX     1
RALF V50A   24-JUL-20    PAGE 1-6

00315 1100          SETX    #SXR
00316 0202  
00317 4000          TRAP4   SIX8            /Call the 8-mode output routine
00320 0000  
00321 1030          JA      #SRTN
00322 0261  
            
                    FIELD1  SXOUT
                    ENTRY   SIX8            / Mixed case output routine
            
00000 0000  SIX8,   0
00001 1345          TAD     CRFLAG          /Suppresss carriage control?
00002 7010          RAR                     /Low bit suppresses lead LF
00003 7630          SZL CLA
00004 5210          JMP     .+4             /No leading LF
00005 6211          CDF     10              / My field
00006 1350          TAD     LF              /Linefeed
00007 4742          JMS%    TTYPTR+1        /Output it
00010 1362          TAD     HUN             /Reset conversion factor
00011 3343          DCA     SHIFT
00012 1352          TAD     BUF             /Buffer field
00013 0357          AND     K7              /Just the field bits
00014 7104          CLL RAL
00015 7006          RTL                     /Into place
00016 1361          TAD     CDF0            /Into CDF instruction
00017 3234          DCA     CDF1
00020 1234          TAD     CDF1
00021 3255          DCA     CDF2
00022 1344          TAD     COUNT           /Get buffer length
00023 7450          SNA
00024 5253          JMP     NOTRIM          /Zero means it has a terminating "@"
            /
            / Find the end of the string
            /
00025 7240          CLA CMA                 /End is start + len - 1
00026 1344          TAD     COUNT           /String len in words
00027 1353          TAD     BUF+1           /End of the string
00030 3346          DCA     PTR             /Pointer to end
00031 1344          TAD     COUNT           /Invert count
00032 7041          CMA IAC
00033 3344          DCA     COUNT
00034 7402  CDF1,   HLT
00035 1746  FNDEND, TAD%    PTR
00036 1351          TAD     K3740           / - '  ' (two spaces)
00037 7640          SZA CLA                 / Skip if blank
00040 5250          JMP     NONBLK
00041 2344          ISZ     COUNT           /Count another
00042 7410          SKP
00043 5250          JMP     NONBLK          /If empty, done
00044 7240          CLA CMA                 / -1
00045 1346          TAD     PTR
00046 3346          DCA     PTR             /Back pointer up
00047 5235          JMP     FNDEND          /Keep looking
            
00050 1344  NONBLK, TAD     COUNT
00051 7650          SNA CLA                 /Skip if output left
RALF V50A   24-JUL-20    PAGE 1-7

00052 5274          JMP     DONE            /Nothing if count zero already
00053 1353  NOTRIM, TAD     BUF+1           /Reset pointer to start
00054 3346          DCA     PTR
00055 7402  CDF2,   HLT
00056 1746          TAD%    PTR             /Get word
00057 3355          DCA     STEMP           /Save
00060 1355          TAD     STEMP
00061 7012          RTR
00062 7012          RTR
00063 7012          RTR                     /First sixbit
00064 4314          JMS     OUTONE          /Convert and output it
00065 1355          TAD     STEMP           /Second sixbit
00066 4314          JMS     OUTONE
00067 2346          ISZ     PTR             /Bump pointer
00070 7410          SKP                     /OK if no skip
00071 5306          JMP     NEWFLD          /Next field otherwise
00072 2344  INCCNT, ISZ     COUNT
00073 5255          JMP     CDF2            /Keep outputting
00074 7200  DONE,   CLA
00075 1345          TAD     CRFLAG          /Suppress trailing CR?
00076 7012          RTR                     /2 bit suppresses trailing CR
00077 7630          SZL CLA                 /If zero, write it.
00100 5304          JMP     OUT             /Yes, leave now
00101 6211          CDF     10              /My field
00102 1347          TAD     CRTN
00103 4742          JMS%    TTYPTR+1
00104 6203  OUT,    CIF CDF 0
00105 5600          JMP%    SIX8
            
00106 1234  NEWFLD, TAD     CDF1
00107 1365          TAD     K10             /Next field
00110 3234          DCA     CDF1
00111 1234          TAD     CDF1
00112 3255          DCA     CDF2
00113 5272          JMP     INCCNT
            
00114 0000  OUTONE, 0
00115 0356          AND     K77             /Mask
00116 7450          SNA
00117 5274          JMP     DONE            / End of string
00120 1363          TAD     K7743           / minus '['
00121 7450          SNA
00122 5335          JMP     SETLWR          /Set to lowercase shift
00123 1366          TAD     K2              / ok, ']'?
00124 7450          SNA
00125 5336          JMP     SETUPR          /Set to uppercase
00126 1364          TAD     K7773           /Restore
00127 7510          SPA
00130 1343          TAD     SHIFT           /For positive, shift it
00131 1360          TAD     K40             /Else it's not alphabetic
00132 6211          CDF     10              /My field
00133 4742          JMS%    TTYPTR+1        /Output it
00134 5714          JMP%    OUTONE          /Done
            
00135 1360  SETLWR, TAD     K40             /Reset shift
00136 1362  SETUPR, TAD     HUN             /For upper/lower
RALF V50A   24-JUL-20    PAGE 1-8

00137 3343          DCA     SHIFT
00140 5714          JMP%    OUTONE
            
00141 0000  TTYPTR, ADDR TTY
00142 0000  
00143 0140  SHIFT,  140             /Shift value
            / COUNT and CRFLAG must stay together
00144 0000  COUNT,  0               /Num words to output. 
00145 0000  CRFLAG, 0               /1 - no leading LF, 2 no trailing CR
00146 0000  PTR,    0
00147 0015  CRTN,   15
00150 0012  LF,     12
00151 3740  K3740,  3740                    /minus blank
00152 0000  BUF,    0;0;0                   /Buffer 15-bit address
00153 0000  
00154 0000  
00155 0000  STEMP,  0
00156 0077  K77,    77                      /sixbit mask
00157 0007  K7,     7
00160 0040  K40,    40
00161 6201  CDF0,   CDF
00162 0100  HUN,    100
00163 7743  K7743,  7743
00164 7773  K7773,  7773
00165 0010  K10,    10                      /Field increment
00166 0002  K2,     2
            
                    SECT    SPEAK
            /C
            /       SUBROUTINE SPEAK(N)
            /C
            /C PRINT THE MESSAGE IN RECORD N OF THE RANDOM ACCESS MESSAGE FILE.
            /C
            /       IMPLICIT INTEGER (A-Z)
            /       COMMON /TXTCOM/ RTEXT,LINES,ASCVAR
            /       COMMON /ALPHAS/ BLANK,EOF
            /       DIMENSION RTEXT(205),LINES(36)
            /C
                    EXTERN  IO
                    EXTERN  #HANG
00000 1030          JA      #ST
00001 0074  
            #XR,    ORG     .+10
00012 2320          TEXT    +SPEAK+
00013 0501  
00014 1300  
00015 1100  #RET,   SETX    #XR
00016 0002  
00017 1110          SETB    #BASE
00020 0023  
00021 1030          JA      .+3
00022 0024  
            #BASE,  ORG     .+6
            N,      ORG     .+3
            #DOTMP, ORG     .+3
00037 4040  BLANK,  TEXT +      +
RALF V50A   24-JUL-20    PAGE 1-9

00040 4040  
00041 4040  
00042 7644  EOF,    TEXT +>$<   +
00043 7440  
00044 4040  
00045 0001  ONE,    F 1.0
00046 2000  
00047 0000  
00050 0003  FOUR,   F 4.0
00051 2000  
00052 0000  
                    ORG     #BASE+30
00053 0040          FNOP
00054 1030          JA      #RET
00055 0015  
00056 0040          FNOP
00057 0000  #GOBAK, 0;0
00060 0000  
            I,      ORG     .+0003
            L,      ORG     .+0003
            OLDLOC, ORG     .+0003
                    #LBL=.
                    COMMON  TXTCOM
            RTEXT,  ORG     .+1147
            LINES,  ORG     .+0044
            ASCVAR, ORG     .+0003
            TXTLOC, ORG     .+0003
            DATA,   ORG     .+0352
                    ORG     #LBL
            #RTN,   BASE    #BASE
00072 1030          JA      #GOBAK
00073 0057  
00074 0006  #ST,    STARTD
00075 0210          0210
00076 6400          FSTA    #GOBAK,0
00077 0057  
00100 0200          0200
00101 1100          SETX    #XR
00102 0002  
00103 1110          SETB    #BASE
00104 0023  
00105 0101          LDX     0,1
00106 0000  
00107 6200          FSTA    #BASE
00110 0710          FLDA%   #BASE,1+
00111 6202          FSTA    N
00112 0005          STARTF
            /        IF(N.EQ.0)RETURN
00113 0602          FLDA%   N
00114 1000          JEQ     #RTN
00115 0072  
            /        READ(2'N) LOC,LINES
00116 0202          FLDA    N
00117 0006          STARTD
00120 6400          FSTA    #G0002
00121 0127  
RALF V50A   24-JUL-20    PAGE 1-10

00122 0005          STARTF
00123 1130          JSR     IO
00124 0000  
00125 1030          JA      .+0004
00126 0131  
00127 1030  #G0002, JA      .
00130 0127  
            /        IF(LINES(1).EQ.EOF)RETURN
00131 0206          FLDA    ONE
00132 0027          ATX     7
00133 0470          FLDA    LINES-0003,7
00134 1144  
00135 2205          FSUB    EOF
00136 1000          JEQ     #RTN
00137 0072  
            /1       OLDLOC = LOC
00140 0400  #1,     FLDA    TXTLOC
00141 1216  
00142 6214          FSTA    OLDLOC
00143 0206          FLDA    ONE
00144 6212          FSTA    I
            
            /        DO 3 I=36,1,-1
            /       Set COUNT to the number of words (36 or 44 octal)
00145 1100          SETX    COUNT
00146 0144  
00147 0100          LDX     44,0            /44 words
00150 0044  
00151 0101          LDX     0,1             /With carriage control
00152 0000  
00153 1100          SETX    #XR
00154 0002  
            /        L=I
            /3       CONTINUE
            /5       TYPE 2,(LINES(I),I=1,L)
00155 0400  #5,     FLDA    LINEPT
00156 0222  
00157 6400          FSTA    BUF             /Set buffer pointer
00160 0152  
00161 4000          TRAP4   SIX8
00162 0000  
            
00163 0602          FLDA%   N
00164 1206          FADD    ONE
00165 6602          FSTA%   N
00166 0202          FLDA    N
            /        READ(2'ASCVAR) LOC,LINES
00167 0006          STARTD
00170 6400          FSTA    #G0006
00171 0177  
00172 0005          STARTF
00173 1130          JSR     IO
00174 0000  
00175 1030          JA      .+0004
00176 0201  
00177 1030  #G0006, JA      .
RALF V50A   24-JUL-20    PAGE 1-11

00200 0177  
            /        IF(LOC .EQ. OLDLOC) GO TO 1
00201 0400          FLDA    TXTLOC
00202 1216  
00203 2214          FSUB    OLDLOC
00204 1000          JEQ     #1
00205 0140  
                    EXTERN  #WRITO
00206 3000          TRAP3   #WRITO
00207 0000  
00210 1030          JA      FOUR
00211 0050  
00212 1030          JA      #10+2
00213 0220  
                    EXTERN  #RENDO
00214 3000          TRAP3   #RENDO
00215 0000  
            
            /10      RETURN
00216 1030  #10,    JA      #RTN
00217 0072  
            /        (1X)
00220 5061          5061
00221 3051          3051
            /2       FORMAT(' ',36A2) PDP/8: (' ',12A6)
00222 0000  LINEPT, ADDR    LINES
00223 1147  
00224 0000          0
RALF V50A   24-JUL-20    PAGE 1-12

NO ERRORS 
137 SYMBOLS, NO ABS REFS 

 #      C 00000   #BASE    00023   #DOTMP   00034   #GOBAK   00057  
 #G0002   00127   #G0006   00177   #HANG  X 00000   #LBL     00072  
 #MAIN  S 00000   #RENDO X 00000   #RET     00015   #RGOBK   00057  
 #RLBAS   00023   #RLRET   00015   #RLRTN   00061   #RLST    00063  
 #RLXR    00002   #RTN     00072   #SBASE   00223   #SGOBK   00257  
 #SRET    00215   #SRTN    00261   #ST      00074   #STRT    00263  
 #SXR     00202   #WRITO X 00000   #XR      00002   #1       00140  
 #10      00216   #5       00155   ADVTTY F 00063   AMINA    00161  
 ASCVAR   01213   BEL      00156   BELL     00105   BLANK    00037  
 BPT      00162   BS       00170   BUF      00152   BUFCDF   00075  
 BUFFLD   00162   BUFLEN   00034   BUFPT    00031   BUFPTR   00164  
 BUFSIZ   00147   BUSY     00027   CDFG     00173   CDFX     00024  
 CDF0     00161   CDF1     00034   CDF2     00055   CDIF00   00026  
 CLRDN    00145   CLRLP    00135   CNT      00231   COUNT    00144  
 CR       00154   CRFLAG   00145   CRTN     00147   DATA     01221  
 DELETE   00110   DONE     00074   DUMBDL   00125   ENTER    00133  
 EOF      00042   FIXOFF   00127   FLDMSK   00176   FNDEND   00035  
 FOUR     00050   GETIN    00044   GETLIN   00000   GETLN  F 00323  
 GETNXT   00014   HANGPT   00061   HUN      00162   I        00061  
 INCCNT   00072   INCH     00177   IO     X 00000   KBD      00035  
 K10      00165   K2       00166   K200     00151   K27      00174  
 K334     00172   K3740    00151   K40      00160   K7       00157  
 K77      00156   K7743    00163   K7773    00164   L        00064  
 LF       00150   LINEPT   00222   LINES    01147   LOOP     00014  
 LWRA     00157   LWRZ     00160   MCR      00153   MDEL     00152  
 MSPC     00155   N        00031   NEWFLD   00106   NONBLK   00050  
 NOTRIM   00053   OFFSET   00166   OLDLOC   00067   ONE      00045  
 OUT      00104   OUTONE   00114   PTR      00146   PTTY     00166  
 RDLIN  F 00117   RDLINE   00000   RTEXT    00000   SCOPE    00164  
 SCOPT    00150   SETLWR   00135   SETUPR   00136   SFLAG    00234  
 SHIFT    00143   SIXMSK   00175   SIXOUT   00200   SIX8     00000  
 SPC      00171   SPEAK  S 00225   STEMP    00155   STO      00074  
 STORE    00055   SXOUT  F 00167   TICHR    00060   TOCHR    00057  
 TTY      00000   TTYPTR   00141   TTYRET   00023   TXTCOM C 01573  
 TXTLOC   01216   UPPER    00045   WAIT     00051