User Tools

Site Tools


cdc:nos2.source:opl.opl871:deck:xedit

Deck XEDIT

25 Modifications

Listing Sections

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.xedit   +++|          IDENT  XEDIT,111B,XEDIT,0,0
00002  M01S00002.xedit   +++|          ABS
00003  M01S00003.xedit   +++|          ENTRY  XEDIT
00004  M01S00004.xedit   +++|          ENTRY  RFL=
00005  M01S00005.xedit   +++|          SST    IR
00006  M01S00006.xedit   +++|          SYSCOM B1
00007  M01S00007.xedit   +++|          LIST   F
00008  M01S00008.xedit   +++|          TITLE  XEDIT - EXTENDED INTERACTIVE TEXT EDITOR.
00009  M01S00009.xedit   +++|*COMMENT  XEDIT - EXTENDED INTERACTIVE TEXT EDITOR.
Line S00010 Modification History
M01 (Added by) xedit
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00010  M02S00010.281l803 ---|          COMMENT COPYRIGHT CONTROL DATA CORPORATION. 1979.
00011  M01S00001.281l803 +++|          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00012  M01S00011.xedit   +++| XEDIT    SPACE  4,10
00013  M01S00012.xedit   +++|*****     XEDIT - EXTENDED INTERACTIVE TEXT EDITOR.
00014  M01S00013.xedit   +++|*         D. W. MEARS        72/08/01.
00015  M01S00014.xedit   +++|*         W. C. WELLS        76/04/29.
00016  M01S00015.xedit   +++|*         REVISED            77/04/01.
00017  M01S00016.xedit   +++|*         B.C. ANTIN         79/03/09.
00018  M01S00017.xedit   +++|*
00019  M01S00018.xedit   +++|*         XEDIT IS AN INTERACTIVE TEXT EDITOR CAPABLE OF CREATING
00020  M01S00019.xedit   +++|*         AND MODIFYING A TEXT FILE QUICKLY, EASILY, AND ACCURATELY.
00021  M01S00020.xedit   +++|          SPACE  4,10
00022  M01S00021.xedit   +++|***       XEDIT IS AN INTERACTIVE TEXT EDITOR CAPABLE OF CREATING
00023  M01S00022.xedit   +++|*         AND MODIFYING A TEXT FILE QUICKLY EASILY AND ACCURATELY.
00024  M01S00023.xedit   +++|          SPACE  4,10
Line S00024 Modification History
M01 (Added by) xedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00025  M02S00024.v23l617 ---|***       XEDIT CONTROL CARD CALL.
00026  M01S00001.v23l617 +++|***       XEDIT COMMAND CALL.
00027  M01S00025.xedit   +++|*
00028  M01S00026.xedit   +++|*         XEDIT,EDITFIL,OPTIONS.
00029  M01S00027.xedit   +++|*
00030  M01S00028.xedit   +++|*         WHERE EDITFIL IS THE FILE TO BE EDITED. IF THE EDITFIL IS
00031  M01S00029.xedit   +++|*         NOT SPECIFIED, THE PRIMARY FILE IS USED. IF NO PRIMARY IS
00032  M01S00030.xedit   +++|*         FOUND, XEDIT WILL USE *TAPE1*.
00033  M01S00031.xedit   +++|*
00034  M01S00032.xedit   +++|*         THE OPTIONS ARE -
00035  M01S00033.xedit   +++|*
00036  M01S00034.xedit   +++|*         OPTION   DESCRIPTION/ACTION
00037  M01S00035.xedit   +++|*         ------   ------------------
00038  M01S00036.xedit   +++|*
00039  M01S00037.xedit   +++|*           AS     TURNS ON ASCII PROCESSING.  ASCII IS DEFAULT IF THE
00040  M01S00038.xedit   +++|*                  TERMINAL IS IN ASCII MODE. IF IT IS NOT IN ASCII,
00041  M01S00039.xedit   +++|*                  THIS PARAMETER WILL TURN ON ASCII FOR XEDIT ONLY.
00042  M01S00040.xedit   +++|*
00043  M01S00041.xedit   +++|*           B      DENOTES BATCH PROCESSING. THIS PARAMETER IS ASSUMED
00044  M01S00042.xedit   +++|*                  FOR NON-TELEX ORIGIN JOBS.
00045  M01S00043.xedit   +++|*
00046  M01S00044.xedit   +++|*           C      DENOTES CREATION MODE. THE USER, IN THIS MODE, CAN
00047  M01S00045.xedit   +++|*                  CREATE A TEXT FILE FROM AN EMPTY FILE.
00048  M01S00046.xedit   +++|*
00049  M01S00047.xedit   +++|*           DB     DEBUG. INHIBITS INTERRUPT CONTROL.
00050  M01S00048.xedit   +++|*
00051  M01S00049.xedit   +++|*           FR     INSTRUCTS XEDIT TO SCAN THE FIRST LINE OF THE XEDIT
00052  M01S00050.xedit   +++|*                  EDIT FILE FOR THE INITIAL COMMAND. XEDIT ASSUMES
00053  M01S00051.xedit   +++|*                  THAT THE COMMAND BEGINS WITH THE FIRST NON-BLANK
00054  M01S00052.xedit   +++|*                  CHARACTER WHICH OCCURS AFTER 2 CONSECUTIVE BLANKS.
00055  M01S00053.xedit   +++|*                  THIS FEATURE ALLOWS THE COMMAND TO BE PLACED INTO A
00056  M01S00054.xedit   +++|*                  COMMENT STRING IN MOST LANGUAGES.
00057  M01S00055.xedit   +++|*                  NOTE- ONLY ONE COMMAND IS ALLOWED. MULTIPLE COMMANDS
00058  M01S00056.xedit   +++|*                  ARE ALLOWED VIA THE Y/Z COMMANDS. ALSO, THIS COMMAND
Line S00057 Modification History
M01 (Added by) xedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00059  M02S00057.v23l617 ---|*                  IS EXECUTED BEFORE ANY COMMANDS ON THE CONTROL CARD.
00060  M01S00002.v23l617 +++|*                  IS EXECUTED BEFORE ANY COMMANDS FOLLOWING THE
00061  M01S00003.v23l617 +++|*                  TERMINATOR ON THE *XEDIT* COMMAND.
00062  M01S00058.xedit   +++|*
00063  M01S00001.xedit20 +++|*           LK     DENOTES LOOK MODE.  IN LOOK MODE, THE EDIT
00064  M01S00002.xedit20 +++|*                  FILE CAN BE EXAMINED, BUT NOT MODIFIED.
00065  M01S00003.xedit20 +++|*
00066  M01S00059.xedit   +++|*           NH     NO HEADER, CANCELS THE ISSUEING OF THE XEDIT VERSION
00067  M01S00060.xedit   +++|*                  MESSAGE.
00068  M01S00061.xedit   +++|*
00069  M01S00062.xedit   +++|*           P      CAUSES EDITFIL TO BE RETRIEVED FROM THE PERMANENT
00070  M01S00063.xedit   +++|*                  FILE CATALOG.
00071  M01S00064.xedit   +++|*
00072  M01S00065.xedit   +++|*          I=IFN   CAUSES XEDIT TO READ INPUT DIRECTIVES FROM FILE IFN.
00073  M01S00066.xedit   +++|*
00074  M01S00067.xedit   +++|*          L=LFN   CAUSES NORMAL XEDIT PRINTOUT TO BE PLACED ON FILE
00075  M01S00068.xedit   +++|*                  LFN INSTEAD OF BEING PRINTED AT THE TERMINAL.
00076  M01S00069.xedit   +++|*
00077  M01S00070.xedit   +++|*         DEFAULTS FOR THE PARAMETERS DEPEND ON ORIGIN TYPE.
00078  M01S00071.xedit   +++|*         FOR TELEX ORIGIN, XEDIT ASSUMES THE FOLLOWING:
00079  M01S00072.xedit   +++|*                *AS* PARAMETER IS SET (DEPENDING ON CHARACTER SET).
00080  M01S00073.xedit   +++|*         FOR BATCH ORIGIN
00081  M01S00074.xedit   +++|*                *B* PARAMETER IS SET. TO PROCESS ASCII FILES, USE THE
00082  M01S00075.xedit   +++|*                    *AS* PARAMETER.
00083  M01S00076.xedit   +++|*
00084  M01S00077.xedit   +++|*         THE SPECIAL INPUT PROMPT OF A DOUBLE QUESTION MARK WILL BE
00085  M01S00078.xedit   +++|*         ISSUED ONLY IF BOTH THE INPUT AND OUTPUT FILES ARE ASSIGNED
00086  M01S00079.xedit   +++|*         AS TYPE *TT*.
00087  M01S00080.xedit   +++|*
00088  M01S00081.xedit   +++|*         THE FIRST LINES OF INPUT TO XEDIT MAY BE SPECIFIED ON
00089  M01S00082.xedit   +++|*         THE XEDIT COMMAND. TO DO THIS, FOLLOW THE TERMINATOR OF THE
00090  M01S00083.xedit   +++|*         COMMAND WITH A DELIMITER AND THE LINES OF INPUT SEPARATED BY
00091  M01S00084.xedit   +++|*         THE SAME DELIMITER CHARACTER.
00092  M01S00085.xedit   +++|          SPACE  4
00093  M01S00086.xedit   +++|**        CONDITIONAL ASSEMBLY OPTIONS.
00094  M01S00087.xedit   +++|*
00095  M01S00088.xedit   +++|*         SYMBOL    FUNCTION
00096  M01S00089.xedit   +++|*         ------    --------
00097  M01S00090.xedit   +++|*
00098  M01S00091.xedit   +++|*         CYBRNET   ASSEMBLES A MODIFIED XEDIT FOR USE BY CYBERNET.
00099  M01S00092.xedit   +++|*
00100  M01S00093.xedit   +++|*         DEBUG     IF = 1, ASSEMBLE VARIOUS PIECES OF DEBUGGING CODE.
00101  M01S00094.xedit   +++|*                   IF = 0, DO NOT ASSEMBLE DEBUG CODE.
00102  M01S00095.xedit   +++|*
00103  M01S00096.xedit   +++|*         FILEOV    DETERMINES WHERE THE OVERLAYS WILL BE LOADED FROM.
00104  M01S00097.xedit   +++|*                   IF = 0, THEN LOAD OVERLAYS FROM LOCAL FILE.  FILE
00105  M01S00098.xedit   +++|*                   NAME IS CONTAINED IN *ACTR*.
00106  M01S00099.xedit   +++|*                   IF = 1, THEN LOAD OVERLAYS FROM THE SYSTEM.
00107  M01S00100.xedit   +++|*
00108  M01S00101.xedit   +++|*         TIMES     ASSEMBLES TIMING CODE. THIS CODE ISSUES THE
00109  M01S00102.xedit   +++|*                   ELSAPED TIME BETWEEN ENTRIES INTO THE COMMAND
00110  M01S00103.xedit   +++|*                   PARSER.  THE IS GIVEN IN THOUSANDTHS OF SECONDS
00111  M01S00104.xedit   +++|*                   AND SHOULD BE ASSEMBLED ONLY WITH KRONOS LEVEL 10+
00112  M01S00105.xedit   +++|*                   OR NOS.
00113  M01S00106.xedit   +++|
00114  M01S00107.xedit   +++|
00115  M01S00108.xedit   +++| DEBUG    SET    0           NO DEBUG
00116  M01S00109.xedit   +++| FILEOV   SET    1           LOAD OVERLAYS FROM SYSTEM
00117  M01S00110.xedit   +++| CYBRNET  SET    0           CYBERNET VERSION
00118  M01S00111.xedit   +++|*                END OF CONDITIONAL ASSEMBLY OPTIONS.
00119  M01S00112.xedit   +++|          SPACE  4,10
00120  M01S00113.xedit   +++|**        REGISTER CONVENTIONS.
00121  M01S00114.xedit   +++|*
00122  M01S00115.xedit   +++|*         IN GENERAL, THE FOLLOWING REGISTERS CAN BE ASSUMED TO
00123  M01S00116.xedit   +++|*         CONTAIN SPECIFIC INFORMATION, OR ARE AVAILABLE UNDER THE
00124  M01S00117.xedit   +++|*         DESCRIBED CIRCUMSTANCES.
00125  M01S00118.xedit   +++|*
00126  M01S00119.xedit   +++|*         A5, X5 = DURING THE PARSING OF THE CURRENT COMMAND, THESE
00127  M01S00120.xedit   +++|*                  REGISTERS POINT/CONTAIN THE CURRENT CHARACTER UNDER
00128  M01S00121.xedit   +++|*                  INVESTIGATION. A NEGATIVE WORD INDICATES AN END
00129  M01S00122.xedit   +++|*                  OF COMMAND. THIS CONVENTION FORCES ALL ROUTINES
00130  M01S00123.xedit   +++|*                  CALLED BY THE PARSER TO AVOID USING THESE
00131  M01S00124.xedit   +++|*                  REGISTERS. A PARTIAL LIST OF THE SUBROUTINES
00132  M01S00125.xedit   +++|*                  AFFECTED ARE -
00133  M01S00126.xedit   +++|*                  *TOP*, *RDF*, *WTF*, *UPL*, *RTOA*.
00134  M01S00127.xedit   +++|*                  ANY ROUTINE WHOSE PARAMETERS ARE COMPLETELY PARSED
00135  M01S00128.xedit   +++|*                  WITHIN THE COMMAND ROUTINE CAN USE THESE REGISTERS.
00136  M01S00129.xedit   +++|*                  THEY SHOULD NOT BE USED BY ANY SUBROUTINES.
00137  M01S00130.xedit   +++|*
00138  M01S00131.xedit   +++|*         A0     = SCRATCH REGISTER. ANY COMMAND PROCESSOR CAN USE THIS
00139  M01S00132.xedit   +++|*                  FOR SCRATCH PURPOSES. SUBROUTINES ARE NOT
00140  M01S00133.xedit   +++|*                  TO USE A0.
00141  M01S00134.xedit   +++|*
00142  M01S00135.xedit   +++|*         B1     = 1.
00143  M01S00136.xedit   +++|          SPACE  4,10
00144  M01S00137.xedit   +++|**        FLAG CONVENTIONS.
00145  M01S00138.xedit   +++|*
00146  M01S00139.xedit   +++|*        -A FLAG OR TOGGLE IS *ON* IF THE FLAG/TOGGLE IS NEGATIVE.
00147  M01S00140.xedit   +++|*
00148  M01S00141.xedit   +++|*        -A FLAG OR TOGGLE IS *TRUE* IF THE FLAG/TOGGLE IS NEGATIVE.
00149  M01S00142.xedit   +++|*
00150  M01S00143.xedit   +++|*        -THE FOLLOWING MATRIX HOLDS FOR THE VARIOUS COMBINATIONS OF
00151  M01S00144.xedit   +++|*         E.CMODE AND E.LMOD WITH REGARD TO E.LINE AND E.STR.
00152  M01S00145.xedit   +++|*
00153  M01S00146.xedit   +++|*          .    E.CMODE = 0              .    E.CMODE = 1
00154  M01S00147.xedit   +++|*          *----------------------------*----------------------------*
00155  M01S00148.xedit   +++|* E.LMOD=0 . E.LINE = CORRECT LINE IMAGE. E.LINE = CORRECT LINE IMAGE.
00156  M01S00149.xedit   +++|*          . E.STR  = GARBAGE           . E.STR  = CORRECT LINE IMAGE.
00157  M01S00150.xedit   +++|*          .                            . (EITHER CAN BE USED SAFELY).
00158  M01S00151.xedit   +++|*          *----------------------------*----------------------------*
00159  M01S00152.xedit   +++|* E.LMOD=1 . THIS CONDITION IS UNDEFINED. E.LINE = GARBAGE           .
00160  M01S00153.xedit   +++|*          .    --NEVER-- DEFINE IT     . E.STR  = CORRECT LINE IMAGE.
00161  M01S00154.xedit   +++|*          .                            .                            .
00162  M01S00155.xedit   +++|*          *----------------------------*----------------------------*
00163  M01S00156.xedit   +++|*
00164  M01S00157.xedit   +++|*         THUS, IF E.LMOD = 0, THE CODED LINE CAN BE WRITTEN.
00165  M01S00158.xedit   +++|*         IF E.CMODE = 1, THE LINE IS UNPACKED TO THE STRING BUFFER.
00166  M01S00159.xedit   +++|*         IF E.CMODE = 1 AND E.LMOD = 1 THEN THE LINE *MUST* BE
00167  M01S00160.xedit   +++|*         REPACKED BEFORE USING (E.LMOD IS THEN SET TO 0).
00168  M01S00161.xedit   +++|          SPACE  4,10
00169  M01S00162.xedit   +++|**        END OF LINE/STRING CONVENTIONS.
00170  M01S00163.xedit   +++|*
00171  M01S00164.xedit   +++|*         WITHIN XEDIT, THERE ARE SEVERAL NOTATIONS USED TO DENOTE THE
00172  M01S00165.xedit   +++|*         END OF A LINE, STRING, ETC.. TO AVOID CONFUSION, THE
00173  M01S00166.xedit   +++|*         FOLLOWING IS THE DIFFERENCES BETWEEN THE REPRESENTATIONS.
00174  M01S00167.xedit   +++|*
00175  M01S00168.xedit   +++|*         A TRUE END OF LINE CONSISTS OF A MASK OF 2 BITS (ALWAYS)
00176  M01S00169.xedit   +++|*
00177  M01S00170.xedit   +++|*         AN END OF STRING IS DENOTED BY THE CHARACTER ORED WITH A
00178  M01S00171.xedit   +++|*         MASK OF 1 BIT.
00179  M01S00172.xedit   +++|*
00180  M01S00173.xedit   +++|*         THIS METHOD ALLOWS THE USER TO ALWAYS SET BIT 59 IF HE WANTS
00181  M01S00174.xedit   +++|*         AN END OF LINE, AND YET TELL THE TWO FORMS APART WHEN ONE
00182  M01S00175.xedit   +++|*         HAS TO RESET THE PSEUDO END OF LINE.
00183  M01S00176.xedit   +++|          SPACE  4,10
00184  M01S00177.xedit   +++|***      ASSEMBLY CONSTANTS.
00185  M01S00178.xedit   +++|
00186  M01S00179.xedit   +++|
00187  M01S00180.xedit   +++| BUFAL    EQU    1401B       SCRATCH FILE BUFFER LENGTH
00188  M01S00181.xedit   +++| BUFBL    EQU    1401B       SECOND SCRATCH BUFFER LENGTH
00189  M01S00182.xedit   +++| BUFCL    EQU    201B        ALTERNATE INPUT BUFFER LENGTH
00190  M01S00183.xedit   +++| BUFDL    EQU    201B        COPY BUFFER LENGTH
00191  M01S00184.xedit   +++| BUFIL    EQU    101B        INPUT BUFFER LENGTH
00192  M01S00185.xedit   +++| BUFOL    EQU    301B        OUTPUT BUFFER LENGTH
00193  M01S00186.xedit   +++| BUFRL    EQU    501B        READ BUFFER LENGTH (LOCAL TO OVL2)
00194  M01S00187.xedit   +++| MINWD    EQU    10D         MINIMUM LINE WIDTH
00195  M01S00188.xedit   +++| MAXWD    EQU    160D        MAXIMUM LINE WIDTH
00196  M01S00189.xedit   +++| M.ASCII  EQU    1           ASCII MODE SETTING
00197  M01S00190.xedit   +++| M.CODED  EQU    0           CODED MODE SETTING
00198  M01S00191.xedit   +++| NTABS    EQU    8           NUMBER OF AVAILABLE TAB STOPS
00199  M01S00192.xedit   +++| VERSION  MICRO  1,,$XEDIT 3.1.00$
00200  M01S00193.xedit   +++|          ORG    111B
00201  M01S00194.xedit   +++|          TITLE  MACROS AND COMMON DECKS.
00202  M01S00195.xedit   +++|
00203  M01S00196.xedit   +++|*         COMMON DECKS.
00204  M01S00197.xedit   +++|
00205  M01S00001.xedit12 +++|*CALL     COMCMAC
00206  M01S00198.xedit   +++|*CALL     COMSPFM
Line S00199 Modification History
M01 (Added by) xedit
M02 (Updated by) xedit12
Seq #  *Modification Id* Act 
----------------------------+
00207  M02S00199.xedit12 ---|*CALL     COMCMAC
00208  M01S00001.xedit13 +++|*CALL     COMSLFD
00209  M01S00200.xedit   +++|
00210  M01S00201.xedit   +++| CHAR     SPACE  4,15
00211  M01S00202.xedit   +++|**        CHAR - SET UP CALL TO *CHAR=* MACRO TO PRESET CHARACTERS.
00212  M01S00203.xedit   +++|*
00213  M01S00204.xedit   +++|*         CHAR   A,B
00214  M01S00205.xedit   +++|*
00215  M01S00206.xedit   +++|*         ENTRY  *A* = INSTRUCTION IN WHICH SUBSTITUTION WILL OCCUR.
00216  M01S00207.xedit   +++|*                *B* = CHARACTER MNEMONIC TO SUBSTITUTE.
00217  M01S00208.xedit   +++|*                THE REPLACEMENT IS DONE WITH BOOLEAN OR, THUS THE
00218  M01S00209.xedit   +++|*                INVERSE CHARACTER VALUE CAN BE OBTAINED BY SETTING UP
00219  M01S00210.xedit   +++|*                A NEGATIVE FIELD.
00220  M01S00211.xedit   +++|*
00221  M01S00212.xedit   +++|*         EXIT   INSTRUCTION *A* IS ENTERED.
00222  M01S00213.xedit   +++|*                AN ENTRY IS MADE IN THE CHARACTER REPLACEMENT TABLE.
00223  M01S00214.xedit   +++|
00224  M01S00215.xedit   +++|          NOREF  .CH1,.CH2
00225  M01S00216.xedit   +++|          PURGMAC CHAR
00226  M01S00217.xedit   +++|
00227  M01S00218.xedit   +++| CHAR     MACRO  A,B
00228  M01S00219.xedit   +++|  A
00229  M01S00220.xedit   +++| .CH1 SET *P
00230  M01S00221.xedit   +++|  IFGT .CH1,59,3
00231  M01S00222.xedit   +++| .CH1 SET 0
00232  M01S00223.xedit   +++| .CH2 SET *-1
00233  M01S00224.xedit   +++|  SKIP 1
00234  M01S00225.xedit   +++| .CH2 SET *
00235  M01S00226.xedit   +++|  CHAR= .CH1,.CH2,B
00236  M01S00227.xedit   +++|          ENDM   CHAR
00237  M01S00228.xedit   +++| CHAR=    SPACE  4,10
00238  M01S00229.xedit   +++|**        CHAR= - FORM ENTRY INTO CHARACTER REPLACEMENT TABLE.
00239  M01S00230.xedit   +++|*
00240  M01S00231.xedit   +++|*
00241  M01S00232.xedit   +++|*         CHAR=  A,B,C
00242  M01S00233.xedit   +++|*         ENTRY  *A* = LEFT SHIFT COUNT TO POSITION CHARACTER.
00243  M01S00234.xedit   +++|*                *B* = WORD TO REPLACE INTO.
00244  M01S00235.xedit   +++|*                *C* = ADDRESS OF DESIRED CHARACTER REPLACEMENT WORD.
00245  M01S00236.xedit   +++|*
00246  M01S00237.xedit   +++|*         EXIT   AN ENTRY IS MADE IN CHARACTER REPLACEMENT TABLE.
00247  M01S00238.xedit   +++|
00248  M01S00239.xedit   +++|
00249  M01S00240.xedit   +++|          PURGMAC CHAR=
00250  M01S00241.xedit   +++|
00251  M01S00242.xedit   +++| CHAR=    MACRO  A,B,C
00252  M01S00243.xedit   +++|          USE    SETCHAR
00253  M01S00244.xedit   +++|  VFD     12/A+2000B,30/B,18/C
00254  M01S00245.xedit   +++|          USE    *
00255  M01S00246.xedit   +++|          ENDM   CHAR=
00256  M01S00247.xedit   +++|
00257  M01S00248.xedit   +++|*         INITIALIZE SETCHAR USE BLOCK.
00258  M01S00249.xedit   +++|
00259  M01S00250.xedit   +++|          USE    SETCHAR
00260  M01S00251.xedit   +++| CHARSET  BSS    0
00261  M01S00252.xedit   +++|          USE    *
00262  M01S00253.xedit   +++| COMMAND  SPACE  4,20
00263  M01S00254.xedit   +++|**        COMMAND - DEFINE AN XEDIT COMMAND TABLE ENTRY.
00264  M01S00255.xedit   +++|*
00265  M01S00256.xedit   +++|* ID      COMMAND  LONG,SHORT,PARMS,MOD,ADDR,SPECIAL,OVRL
00266  M01S00257.xedit   +++|*
00267  M01S00258.xedit   +++|*         ENTRY  *ID* = XEDIT COMMAND IDENTIFIER.
00268  M01S00259.xedit   +++|*                *LONG* = LONG FORM OF COMMAND.
00269  M01S00260.xedit   +++|*                *SHORT* = SHORT FORM OF COMMAND.
00270  M01S00261.xedit   +++|*                *PARMS* = SPECIFIED PARAMETER CRACKING.
00271  M01S00262.xedit   +++|*                *ADDR* = JUMP ADDRESS FOR ROUTINE.
00272  M01S00263.xedit   +++|*                *MOD* = OPTIONAL MODIFIER FIELD.
00273  M01S00264.xedit   +++|*                *OVL* = OVERLAY NEEDED TO EXECUTE COMMAND, IF NEEDED.
00274  M01S00265.xedit   +++|*                *SPECIAL* = REPEATING PARAMETER WHOSE ARGUMENTS ARE -
00275  M01S00266.xedit   +++|*                            *CR* = COMMAND VALID IN CREATION MODE.
00276  M01S00267.xedit   +++|*                            *F0* = NUMBER PARAMETER MUST BE FORCED
00277  M01S00268.xedit   +++|*                            ZERO, IF COMMAND IS EXECUTED IN *INPUT
00278  M01S00269.xedit   +++|*                            MODE.
00279  M01S00270.xedit   +++|*                            *LK* = COMMAND VALID ON LOOK MODE.
00280  M01S00271.xedit   +++|*                            *IN* = COMMAND VALID IN INPUT MODE.
00281  M01S00272.xedit   +++|*
00282  M01S00273.xedit   +++|*         EXIT   COMMAND TABLE ENTRY IS DEFINED.
00283  M01S00274.xedit   +++|
00284  M01S00275.xedit   +++| MXOVL    SET    0           SET NUMBER OF OVERLAYS
00285  M01S00276.xedit   +++|
00286  M01S00277.xedit   +++|          PURGMAC COMMAND
00287  M01S00278.xedit   +++|
00288  M01S00279.xedit   +++|  MACRO COMMAND,NM,LONG,SHORT,PARMS,MOD,ADDR,SPL,OVRL
00289  M01S00280.xedit   +++|  IFC NE,$SHORT$$,1
00290  M01S00281.xedit   +++|          IRP    SHORT
00291  M01S00282.xedit   +++|          DATA   0L_SHORT
00292  M01S00283.xedit   +++|          IRP
00293  M01S00284.xedit   +++|  IFC NE,$LONG$$,2
00294  M01S00285.xedit   +++|  DATA 0L_LONG
00295  M01S00286.xedit   +++|  MHELP LONG,SHORT
00296  M01S00287.xedit   +++| C.A SET PARMS 0
00297  M01S00288.xedit   +++|  IRP SPL
00298  M01S00289.xedit   +++|  POS /OPTS/SPL+1
00299  M01S00290.xedit   +++|  VFD 1/1
00300  M01S00291.xedit   +++|  IRP
00301  M01S00292.xedit   +++|  POS 60
00302  M01S00293.xedit   +++| .. IFC NE,$OVRL$$
00303  M01S00294.xedit   +++| C.D MICRO 4,4,$_OVRL_$
00304  M01S00295.xedit   +++|  VFD 2/2,10/-OVL
00305  M01S00296.xedit   +++|  POS 36
00306  M01S00297.xedit   +++|  VFD 18/NM-1,18/"C.D"
00307  M01S00298.xedit   +++| CMD_"C.D" RMT
00308  M01S00299.xedit   +++|  QUAL
00309  M01S00300.xedit   +++| NM BSS 0
00310  M01S00301.xedit   +++|  QUAL *
00311  M01S00302.xedit   +++|  COMMAND  (),(),PARMS,MOD,ADDR,(_SPL_)
00312  M01S00303.xedit   +++|  RMT
00313  M01S00304.xedit   +++| . IFGT "C.D",MXOVL,1
00314  M01S00305.xedit   +++| MXOVL SET "C.D"
00315  M01S00306.xedit   +++| .. ELSE
00316  M01S00307.xedit   +++| NM  VFD 2/2,10/-C.A
00317  M01S00308.xedit   +++|  POS 36
00318  M01S00309.xedit   +++|  VFD 18/MOD,18/ADDR
00319  M01S00310.xedit   +++| .. ENDIF
00320  M01S00311.xedit   +++|          ENDM   COMMAND
00321  M01S00312.xedit   +++| DEVICE   SPACE  4,20
00322  M01S00313.xedit   +++|**        DEVICE - DEFINE INPUT DEVICE.
00323  M01S00314.xedit   +++|*
00324  M01S00315.xedit   +++|*
00325  M01S00316.xedit   +++|*N        DEVICE FET,ACTIVE,CMDPOP
00326  M01S00317.xedit   +++|*
00327  M01S00318.xedit   +++|*         ENTRY  *N* = 1 CHARACTER SYMBOL FOR NAME OF DEVICE.
00328  M01S00319.xedit   +++|*                *FET* = ADDRESS OF FET ASSOCIATED WITH DEVICE,
00329  M01S00320.xedit   +++|*                        IF ONE EXISTS.
00330  M01S00321.xedit   +++|*                *ACTIVE* = DEVICE IS ACTIVE (SET ONLY ON *I* DEVICE).
00331  M01S00322.xedit   +++|*                *CMDPOP* = POP STACK IF READ REQUIRED FOR NEXT
00332  M01S00323.xedit   +++|*                          COMMAND, ELSE READ LINE IF FOR DATA.
00333  M01S00324.xedit   +++|*
00334  M01S00325.xedit   +++|*         EXIT   N.LINE = FWA OF CODED LINE BUFFER FOR DEVICE.
00335  M01S00326.xedit   +++|*                N.DEV = ADDRESS OF DEVICE DEFINITION FOR
00336  M01S00327.xedit   +++|*                        ROUTINE, *STK*.
00337  M01S00328.xedit   +++|*                A DEVICE DEFINITION BLOCK IS GENERATED.
00338  M01S00329.xedit   +++|
00339  M01S00330.xedit   +++|          PURGMAC DEVICE
00340  M01S00331.xedit   +++|
00341  M01S00332.xedit   +++|          MACRO  DEVICE,N,FET,ACTIVE,CMDPOP
00342  M01S00333.xedit   +++| N_.LINE BSSZ 33D
00343  M01S00334.xedit   +++|  IFC NE,$CMDPOP$$,1
00344  M01S00335.xedit   +++|  VFD 1/1
00345  M01S00336.xedit   +++|  VFD *P/FET
00346  M01S00337.xedit   +++| N_.DEV BSS 0
00347  M01S00338.xedit   +++|  IFC EQ,$ACTIVE$$,2
00348  M01S00339.xedit   +++|  CON -1
00349  M01S00340.xedit   +++|  SKIP 1
00350  M01S00341.xedit   +++|  CON 0
00351  M01S00342.xedit   +++|  VFD 1/0,11/0,30/,18/-1
00352  M01S00343.xedit   +++|          ENDM   DEVICE
00353  M01S00344.xedit   +++| ERRMSG   SPACE  4,25
00354  M01S00345.xedit   +++|**        ERRMSG - DEFINE XEDIT ERROR MESSAGES.
00355  M01S00346.xedit   +++|*
00356  M01S00347.xedit   +++|*
00357  M01S00348.xedit   +++|*NAME     ERRMSG BELLS,TEXT
00358  M01S00349.xedit   +++|*
00359  M01S00350.xedit   +++|*         ENTRY  *NAME* = THE NAME OF THE ERROR MESSAGE.
00360  M01S00351.xedit   +++|*                *BELLS* = THE NUMBER OF BELLS TO ISSUE BEFORE
00361  M01S00352.xedit   +++|*                THE MESSAGE.
00362  M01S00353.xedit   +++|*                *TEXT* = THE TEXT OF THE MESSAGE.
00363  M01S00354.xedit   +++|*
00364  M01S00355.xedit   +++|*         THIS MACRO GENERATES A TABLE OF POINTERS TO THE ERROR
00365  M01S00356.xedit   +++|*         MESSAGES (FOR USE BY *EXPLAIN*). THE TEXT OF THE MESSAGES
00366  M01S00357.xedit   +++|*         IS PUT INTO REMOTE BLOCK *ERRMSG*. THIS BLOCK IS ASSUMED TO
00367  M01S00358.xedit   +++|*         BE ASSEMBLED IMMEDIATELY AFTER THE MACRO CALLS. A SIMILIAR
00368  M01S00359.xedit   +++|*         BLOCK IS MADE FOR USE BY THE *NOBELLS* COMMAND. THIS BLOCK
00369  M01S00360.xedit   +++|*         CONTAINS THE ERROR MESSAGES BUT WITHOUT THE BELLS IN THEM.
00370  M01S00361.xedit   +++|*         (THIS TABLE IS IN REMOTE BLOCK *ERROVL*)
00371  M01S00362.xedit   +++|*         IN ADDITION, THE *NO BELLS* TABLE IS ALSO DUPLICATED IN
00372  M01S00363.xedit   +++|*         ANOTHER REMOTE BLOCK CALLED *ERRPRS*. THIS BLOCK IS
00373  M01S00364.xedit   +++|*         DESIGNED TO BE ASSEMBLED IN THE PRESET CODE. THIS ALLOWS
00374  M01S00365.xedit   +++|*         BATCH ORIGIN OUTPUT TO LOOK NICE BY REMOVING ALL THE
00375  M01S00366.xedit   +++|*         BELL SYMBOLS AND CONTROL BYTES. A LEADING BLANK IS ADDED.
00376  M01S00367.xedit   +++|
00377  M01S00368.xedit   +++|          PURGMAC ERRMSG
00378  M01S00369.xedit   +++|
00379  M01S00370.xedit   +++|          MACRO  ERRMSG,NAME,BELLS,TEXT
00380  M01S00371.xedit   +++|          LOCAL  Y
00381  M01S00372.xedit   +++| ... IFC NE,;TEXT_;
00382  M01S00373.xedit   +++| .. IFC NE,$NAME$$,1
00383  M01S00374.xedit   +++| NAME BSS 0
00384  M01S00375.xedit   +++|  CON Y
00385  M01S00376.xedit   +++| ERRMSG RMT
00386  M01S00377.xedit   +++| .C MICRO 1,,;TEXT_
00387  M01S00378.xedit   +++| .F MICCNT .C
00388  M01S00379.xedit   +++| .B SET BELLS*2
00389  M01S00380.xedit   +++| .B SET .A-.B
00390  M01S00381.xedit   +++| .C MICRO 1,.B,;TEXT_
00391  M01S00382.xedit   +++| .D MICRO .B+1,,;TEXT_
00392  M01S00383.xedit   +++| Y BSS 0
00393  M01S00384.xedit   +++| . IFC NE,$NAME$$,1
00394  M01S00385.xedit   +++|  VFD 12/0011B
00395  M01S00386.xedit   +++|  DUP BELLS,1
00396  M01S00387.xedit   +++|  CHAR (VFD 12/0),BL.
00397  M01S00388.xedit   +++| .. IFLE .F+2,.B,4
00398  M01S00389.xedit   +++| .E DECMIC .F
00399  M01S00390.xedit   +++| .F SET .F*6
00400  M01S00391.xedit   +++|  VFD .F/_".E"_H_".C"_,*P/
00401  M01S00392.xedit   +++| .. SKIP 3
00402  M01S00393.xedit   +++| .E DECMIC .B
00403  M01S00394.xedit   +++|  VFD *P/_".E"_H_".C"
00404  M01S00395.xedit   +++|  DATA C;".D"_
00405  M01S00396.xedit   +++|  RMT
00406  M01S00397.xedit   +++| .. IFC NE,$NAME$$,6
00407  M01S00398.xedit   +++| ERROVL RMT
00408  M01S00399.xedit   +++|  ERRMSG 0,(_TEXT_)
00409  M01S00400.xedit   +++|  RMT
00410  M01S00401.xedit   +++| ERRPRS RMT
00411  M01S00402.xedit   +++|  ERRMSG 0,( TEXT_)
00412  M01S00403.xedit   +++|  RMT
00413  M01S00404.xedit   +++| ... ELSE
00414  M01S00405.xedit   +++| .. IFC NE,nAME;,10
00415  M01S00406.xedit   +++| ERROVL RMT
00416  M01S00407.xedit   +++|  LOC ERRBASE
00417  M01S00408.xedit   +++|  ERRMSG
00418  M01S00409.xedit   +++|  LOC *O
00419  M01S00410.xedit   +++|  RMT
00420  M01S00411.xedit   +++| ERRPRS RMT
00421  M01S00412.xedit   +++|  LOC ERRBASE
00422  M01S00413.xedit   +++|  ERRMSG
00423  M01S00414.xedit   +++|  LOC *O
00424  M01S00415.xedit   +++|  RMT
00425  M01S00416.xedit   +++| ERRMSG HERE
00426  M01S00417.xedit   +++| ... ENDIF
00427  M01S00418.xedit   +++|          ENDM   ERRMSG
00428  M01S00419.xedit   +++|
00429  M01S00420.xedit   +++|*         PRESET REMOTE BLOCKS.
00430  M01S00421.xedit   +++|
00431  M01S00422.xedit   +++| ERRMSG   RMT
00432  M01S00423.xedit   +++| .A       SET    8
00433  M01S00424.xedit   +++|          RMT
00434  M01S00425.xedit   +++| ERROVL   RMT
00435  M01S00426.xedit   +++| .A       SET    10
00436  M01S00427.xedit   +++|          CON    ERR         KLUDGE FOR PFM
00437  M01S00428.xedit   +++|          RMT
00438  M01S00429.xedit   +++| ERRPRS   RMT
00439  M01S00430.xedit   +++| .A       SET    10
00440  M01S00431.xedit   +++|          CON    ERR         KLUDGE FOR PFM
00441  M01S00432.xedit   +++|          RMT
00442  M01S00433.xedit   +++| ERROR    SPACE  4,15
00443  M01S00434.xedit   +++|**        ERROR - ISSUE ERROR MESSAGE.
00444  M01S00435.xedit   +++|*
00445  M01S00436.xedit   +++|*
00446  M01S00437.xedit   +++|*         ERROR  PRIMARY,SECONDARY
00447  M01S00438.xedit   +++|*
00448  M01S00439.xedit   +++|*         ENTRY  *PRIMARY* = PRIMARY MESSAGE ORDINAL.
00449  M01S00440.xedit   +++|*                *SECONDARY* = SECONDARY MESSAGE ORDINAL.
00450  M01S00441.xedit   +++|*
00451  M01S00442.xedit   +++|*         EXIT   THE SPECIFIED ERROR MESSAGE IS ISSUED.
00452  M01S00443.xedit   +++|*                (EXPLAIN) = NEW EXPLAIN ENTRY.
00453  M01S00444.xedit   +++|*
00454  M01S00445.xedit   +++|*         USES   B - 2.
00455  M01S00446.xedit   +++|*
00456  M01S00447.xedit   +++|*         CALLS  IEM.
00457  M01S00448.xedit   +++|
00458  M01S00449.xedit   +++|          PURGMAC ERROR
00459  M01S00450.xedit   +++|
00460  M01S00451.xedit   +++| ERROR    MACRO  PRI,SEC
00461  M01S00452.xedit   +++|  IFC EQ,$SEC$$,2
00462  M01S00453.xedit   +++|  R= B2,PRI
00463  M01S00454.xedit   +++|  SKIP 1
00464  M01S00455.xedit   +++|  R= B2,PRI*100B+SEC
00465  M01S00456.xedit   +++|  RJ IEM
00466  M01S00457.xedit   +++|          ENDM   ERROR
00467  M01S00458.xedit   +++| FERROR   SPACE  4,20
00468  M01S00459.xedit   +++|**        FERROR - ISSUE FILE ERROR MESSAGE.
00469  M01S00460.xedit   +++|*
00470  M01S00461.xedit   +++|*
00471  M01S00462.xedit   +++|*         FERROR NAME,PRIMARY,SECONDARY
00472  M01S00463.xedit   +++|*
00473  M01S00464.xedit   +++|*         ENTRY  *NAME* = FILE NAME.
00474  M01S00465.xedit   +++|*                *PRIMARY* = PRIMARY MESSAGE ORDINAL.
00475  M01S00466.xedit   +++|*                *SECONDARY* = SECONDARY MESSAGE ORDINAL.
00476  M01S00467.xedit   +++|*                FILE MESSAGES CANNOT CONTAIN BELLS.
00477  M01S00468.xedit   +++|*
00478  M01S00469.xedit   +++|*         EXIT   SPECIFIED ERROR MESSAGE IS ISSUED.
00479  M01S00470.xedit   +++|*                (EXPLAIN) = NEW EXPLAIN ENTRY.
00480  M01S00471.xedit   +++|*
00481  M01S00472.xedit   +++|*         USES   A - 1.
00482  M01S00473.xedit   +++|*                X - 1.
00483  M01S00474.xedit   +++|*                B - 2.
00484  M01S00475.xedit   +++|*
00485  M01S00476.xedit   +++|*         CALLS  IFM.
00486  M01S00477.xedit   +++|
00487  M01S00478.xedit   +++|          PURGMAC FERROR
00488  M01S00479.xedit   +++|
00489  M01S00480.xedit   +++| FERROR   MACRO  NAME,PRI,SEC
00490  M01S00481.xedit   +++|  IFC EQ,$SEC$$,2
00491  M01S00482.xedit   +++|  R= B2,PRI
00492  M01S00483.xedit   +++|  SKIP 1
00493  M01S00484.xedit   +++|  R= B2,PRI*100B+SEC
00494  M01S00485.xedit   +++|  R= A1,NAME
00495  M01S00486.xedit   +++|  RJ IFM
00496  M01S00487.xedit   +++|          ENDM   FERROR
00497  M01S00488.xedit   +++| HEREL    SPACE  4,10
00498  M01S00489.xedit   +++|**        HEREL - ASSEMBLE AND LIST REMOTE TEXT.
00499  M01S00490.xedit   +++|*
00500  M01S00491.xedit   +++|*
00501  M01S00492.xedit   +++|*         HEREL
00502  M01S00493.xedit   +++|*
00503  M01S00494.xedit   +++|*         EXIT   REMOTE TEXT IS ASSEMBLED AND LISTED.
00504  M01S00495.xedit   +++|
00505  M01S00496.xedit   +++|          PURGMAC HEREL
00506  M01S00497.xedit   +++|
00507  M01S00498.xedit   +++|          MACRO  HEREL,NAME
00508  M01S00499.xedit   +++|          LIST   G
00509  M01S00500.xedit   +++| ;A HERE
00510  M01S00501.xedit   +++|          LIST   *
00511  M01S00502.xedit   +++|          ENDM   HEREL
00512  M01S00503.xedit   +++| MHELP    SPACE  4,15
00513  M01S00504.xedit   +++|**        MHELP - ASSEMBLE HELP COMMAND DIRECTORY.
00514  M01S00505.xedit   +++|*
00515  M01S00506.xedit   +++|*
00516  M01S00507.xedit   +++|*         MHELP  A,B.
00517  M01S00508.xedit   +++|*
00518  M01S00509.xedit   +++|*         ENTRY  *A* = LONG FORM OF THE COMMAND.
00519  M01S00510.xedit   +++|*                *B* = SHORT FORM OF THE COMMAND. IF NULL, NO
00520  M01S00511.xedit   +++|*                      ENTRY IS MADE.
00521  M01S00512.xedit   +++|*
00522  M01S00513.xedit   +++|*         NOTES  MHELP ASSEMBLES THE HELP COMMAND DIRECTORY USED BY
00523  M01S00514.xedit   +++|*                THE HELP COMMAND. THIS MACRO PLACES THE INFORMATION
00524  M01S00515.xedit   +++|*                IN THE REMOTE BLOCK, *HELP*, FOR ASSEMBLY IN THE HELP
00525  M01S00516.xedit   +++|*                OVERLAY.
00526  M01S00517.xedit   +++|
00527  M01S00518.xedit   +++|          PURGMAC MHELP
00528  M01S00519.xedit   +++|
00529  M01S00520.xedit   +++| MHELP    MACRO  A,B
00530  M01S00521.xedit   +++|          LOCAL  MH5
00531  M01S00522.xedit   +++|  IFEQ MH2,3,6
00532  M01S00523.xedit   +++| MH5 MICRO 1,,$"MH1"$
00533  M01S00524.xedit   +++| HELP RMT
00534  M01S00525.xedit   +++|  DATA C$"MH5"$
00535  M01S00526.xedit   +++|  RMT
00536  M01S00527.xedit   +++| MH1 MICRO 1,2,$ $
00537  M01S00528.xedit   +++| MH2 SET 0
00538  M01S00529.xedit   +++|
00539  M01S00530.xedit   +++| . IFNE MH2,2
00540  M01S00531.xedit   +++| MH3 MICRO 1,12,$_A_             $
00541  M01S00532.xedit   +++| MH4 MICRO 1,9,$          $
00542  M01S00533.xedit   +++|  IFC NE,$B$$,1
00543  M01S00534.xedit   +++| MH4 MICRO 1,9,$[_B_]          $
00544  M01S00535.xedit   +++| . ELSE
00545  M01S00536.xedit   +++|  IFC NE,$B$$,3
00546  M01S00537.xedit   +++| MH3 MICRO 1,12,$_A_             $
00547  M01S00538.xedit   +++| MH4 MICRO 1,,$[_B_]$
00548  M01S00539.xedit   +++|  SKIP 2
00549  M01S00540.xedit   +++| MH3 MICRO 1,,$_A_$
00550  M01S00541.xedit   +++| MH4 MICRO 1,1,$ $
00551  M01S00542.xedit   +++| . ENDIF
00552  M01S00543.xedit   +++| MH1 MICRO 1,,$"MH1"_"MH3"_"MH4"_$
00553  M01S00544.xedit   +++| MH2 SET MH2+1
00554  M01S00545.xedit   +++|          ENDM   MHELP
00555  M01S00546.xedit   +++|
00556  M01S00547.xedit   +++|          NOREF  MH2
00557  M01S00548.xedit   +++| MH1      MICRO  1,1,$ $
00558  M01S00549.xedit   +++| MH2      SET    0
00559  M01S00550.xedit   +++| OVERLAY  SPACE  4,15
00560  M01S00551.xedit   +++|***       OVERLAY - LOAD OVERLAY.
00561  M01S00552.xedit   +++|*
00562  M01S00553.xedit   +++|*
00563  M01S00554.xedit   +++|*         OVERLAY NAME,LEVEL,SYSTEM,FWA
00564  M01S00555.xedit   +++|*         ENTRY  *NAME* = ADDRESS OF FILE NAME IN *L* FORMAT.
00565  M01S00556.xedit   +++|*                *LEVEL* = OVERLAY LEVEL.
00566  M01S00557.xedit   +++|*                *SYSTEM* IF SPECIFIED, OVERLAY WILL BE LOADED FROM
00567  M01S00558.xedit   +++|*                            SYSTEM LIBRARY, AND (NAME) = NAME OF
00568  M01S00559.xedit   +++|*                            OVERLAY.
00569  M01S00560.xedit   +++|*                *FWA* IF SPECIFIED = ADDRESS AT WHICH OVERLAY WILL
00570  M01S00561.xedit   +++|*                            BE LOADED.
00571  M01S00562.xedit   +++|*         EXIT   (X1) = OVERLAY ENTRY ADDRESS.
00572  M01S00563.xedit   +++|*         CALLS  OVL=.
00573  M01S00564.xedit   +++|
00574  M01S00565.xedit   +++|
00575  M01S00566.xedit   +++|          PURGMAC OVERLAY
00576  M01S00567.xedit   +++|
00577  M01S00568.xedit   +++| OVERLAY  MACRO  N,L,S,F
00578  M01S00569.xedit   +++|  LOCAL A
00579  M01S00570.xedit   +++|A SET 0
00580  M01S00571.xedit   +++|  IFC NE,$S$$,1
00581  M01S00572.xedit   +++|A SET 1
00582  M01S00573.xedit   +++|  IFC NE,$L$$
00583  M01S00574.xedit   +++|  SX6 L
00584  M01S00575.xedit   +++|  LX6 6
00585  M01S00576.xedit   +++|  SX6 X6+A
00586  M01S00577.xedit   +++|  ELSE 1
00587  M01S00578.xedit   +++|  SX6 A
00588  M01S00579.xedit   +++|  R= X2,F
00589  M01S00580.xedit   +++|  IFC NE,$N$X1$,1
00590  M01S00581.xedit   +++|  SA1 N
00591  M01S00582.xedit   +++|  RJ =XOVL=
00592  M01S00583.xedit   +++|  ENDM OVERLAY
00593  M01S00584.xedit   +++| OVLDEF  SPACE  4
00594  M01S00585.xedit   +++|**        OVLDEF - DEFINE XEDIT OVERLAY
00595  M01S00586.xedit   +++|*
00596  M01S00587.xedit   +++|*ADDR     OVLDEF   LEVEL,ADDR
00597  M01S00588.xedit   +++|*
00598  M01S00589.xedit   +++|*         ADDR  = LOAD ADDRESS IF NOT FWAOVL
00599  M01S00590.xedit   +++|*         LEVEL = LEVEL OF OVERLAY
00600  M01S00591.xedit   +++|*         TITLE = TITLE OF OVERLAY
00601  M01S00592.xedit   +++|*         PRESET= SET IF THIS OVERLAY HAS SPECIAL PRESET CODE.
00602  M01S00593.xedit   +++|*                 IF SO, PRESET CODE SHOULD BE A SUBROUTINE ENTITLED
00603  M01S00594.xedit   +++|*                 *PRS* (WILL BE RETURNED JUMPED TO).
00604  M01S00595.xedit   +++|
00605  M01S00596.xedit   +++|
00606  M01S00597.xedit   +++|          PURGMAC OVLDEF
00607  M01S00598.xedit   +++|          MACRO  OVLDEF,ADDR,LVL,TEXT,PRESET
00608  M01S00599.xedit   +++|  QUAL XEDIT_LVL
00609  M01S00600.xedit   +++|  TTL XEDIT_LVL - TEXT
00610  M01S00601.xedit   +++|  TITLE
00611  M01S00602.xedit   +++|  IFC EQ,$ADDR$$,2
00612  M01S00603.xedit   +++|  IDENT XEDIT_LVL,FWAOVL,XEDIT_LVL,LVL,0
00613  M01S00604.xedit   +++|  SKIP 1
00614  M01S00605.xedit   +++|  IDENT XEDIT_LVL,ADDR,XEDIT_LVL,LVL,0
00615  M01S00606.xedit   +++|*COMMENT  XEDIT - TEXT
00616  M01S00607.xedit   +++|  IFC EQ,$ADDR$$,2
00617  M01S00608.xedit   +++|  ORG FWAOVL
00618  M01S00609.xedit   +++|  SKIP 1
00619  M01S00610.xedit   +++|  ORG ADDR
00620  M01S00611.xedit   +++|  NOREF .A,.B,.F,C.A,C.B,C.C,MH2
00621  M01S00612.xedit   +++| CMD_LVL HERE
00622  M01S00613.xedit   +++|  QUAL
00623  M01S00614.xedit   +++| XEDIT_LVL BSS 0   DEFINE PRESET ENTRY POINT
00624  M01S00615.xedit   +++|  QUAL *
00625  M01S00616.xedit   +++|  SA1 CHARSET
00626  M01S00617.xedit   +++|  RJ ICH
00627  M01S00618.xedit   +++|  IFC NE,$PRESET$$,1
00628  M01S00619.xedit   +++|  RJ PRS
00629  M01S00620.xedit   +++|  EQ PRM39
00630  M01S00621.xedit   +++|  USE SETCHAR
00631  M01S00622.xedit   +++| CHARSET BSS 0
00632  M01S00623.xedit   +++|  USE *
00633  M01S00624.xedit   +++|          ENDM   OVLDEF
00634  M01S00625.xedit   +++| PARAM    SPACE  4,10
00635  M01S00626.xedit   +++|**        PARAM - DEFINE PARAMETER SYMBOL FOR COMMAND MACRO.
00636  M01S00627.xedit   +++|*
00637  M01S00628.xedit   +++|*
00638  M01S00629.xedit   +++|*LABEL    PARAM  NAME
00639  M01S00630.xedit   +++|*
00640  M01S00631.xedit   +++|*         ENTRY  *LABEL* = REGULAR LABEL FIELD.
00641  M01S00632.xedit   +++|*                *NAME* = NAME FOR COMMAND MACRO.  THIS BECOMES
00642  M01S00633.xedit   +++|*                *LABEL-PRM*.
00643  M01S00634.xedit   +++|
00644  M01S00635.xedit   +++|          PURGMAC PARAM
00645  M01S00636.xedit   +++|
00646  M01S00637.xedit   +++|          MACRO  PARAM,LABEL,NAME
00647  M01S00638.xedit   +++|
00648  M01S00639.xedit   +++| ;A BSS 0
00649  M01S00640.xedit   +++| ;B EQU ;A-PRM.
00650  M01S00641.xedit   +++|          ENDM   PARAM
00651  M01S00642.xedit   +++| PREFIX   SPACE  4,15
00652  M01S00643.xedit   +++|**        PREFIX - DEFINE PREFIX CHARACTERS.
00653  M01S00644.xedit   +++|*
00654  M01S00645.xedit   +++|*
00655  M01S00646.xedit   +++|*         PREFIX CHARS
00656  M01S00647.xedit   +++|*
00657  M01S00648.xedit   +++|*         ENTRY  *CHARS* = PREFIX CHARACTER TO BE DEFINED.
00658  M01S00649.xedit   +++|*                IF ALPHABETIC, MACRO WILL GENERATE BOTH AN
00659  M01S00650.xedit   +++|*                   UPPER AND LOWER CASE ENTRY.
00660  M01S00651.xedit   +++|*                IF THE PARAMETER CONTAINS MORE THAT 1 CHARACTERS, THE
00661  M01S00652.xedit   +++|*                   MACRO WILL ASSUME THAT THE CHARACTER NEEDS TO BE
00662  M01S00653.xedit   +++|*                   PRESET AND WILL GENERATE THE PROPER CODE.
00663  M01S00654.xedit   +++|*
00664  M01S00655.xedit   +++|*         EXIT   PREFIX TABLE IS PUT IN REMOTE BLOCK *PREFIX*.
00665  M01S00656.xedit   +++|
00666  M01S00657.xedit   +++|          PURGMAC PREFIX
00667  M01S00658.xedit   +++|
00668  M01S00659.xedit   +++| PREFIX   MACRO  CHARS
00669  M01S00660.xedit   +++|          LOCAL  A,B
00670  M01S00661.xedit   +++| A BSS 0
00671  M01S00662.xedit   +++| B MICRO 1,,Z_CHARS_Z
00672  M01S00663.xedit   +++| C MICCNT B
00673  M01S00664.xedit   +++| . IFPL C-2
00674  M01S00665.xedit   +++| PREFIX RMT
00675  M01S00666.xedit   +++|  VFD 42/A
00676  M01S00667.xedit   +++|  CHAR (VFD 18/0),CHARS
00677  M01S00668.xedit   +++|  RMT
00678  M01S00669.xedit   +++| HELPSP   RMT
00679  M01S00670.xedit   +++|  CHAR (VFD 6/0),CHARS
00680  M01S00671.xedit   +++|  VFD 30/5H*****
00681  M01S00672.xedit   +++|  CHAR  (VFD 18/0),(//_CHARS)
00682  M01S00673.xedit   +++|  VFD 6/0
00683  M01S00674.xedit   +++|  RMT
00684  M01S00675.xedit   +++| . ELSE
00685  M01S00676.xedit   +++| PREFIX RMT
00686  M01S00677.xedit   +++|  VFD     42/A,18/1R_CHARS
00687  M01S00678.xedit   +++|  IFLE    1R_CHARS,26D,1
00688  M01S00679.xedit   +++|  VFD     42/A,12/76B,6/1R_CHARS
00689  M01S00680.xedit   +++|  RMT
00690  M01S00681.xedit   +++| HELPSP   RMT
00691  M01S00682.xedit   +++|  VFD 6/1R_CHARS,30/5H*****,18/1R_CHARS,6/0
00692  M01S00683.xedit   +++|  VFD 6/1R_CHARS,30/5H*****,12/76B,6/1R_CHARS,6/0
00693  M01S00684.xedit   +++|  RMT
00694  M01S00685.xedit   +++| . ENDIF
00695  M01S00686.xedit   +++|          ENDM   PREFIX
00696  M01S00687.xedit   +++| SPECIAL  SPACE  4,10
00697  M01S00688.xedit   +++|**        SPECIAL - DEFINE SPECIAL COMMANDS (1 CHARACTER).
00698  M01S00689.xedit   +++|*
00699  M01S00690.xedit   +++|*
00700  M01S00691.xedit   +++|*         SPECIAL  CHARS
00701  M01S00692.xedit   +++|*
00702  M01S00693.xedit   +++|*         ENTRY  *CHARS* = SPECIAL COMMAND CHARACTER.
00703  M01S00694.xedit   +++|*                IF THE PARAMETER CONTAINS MORE THAN 1 CHARACTER, THE
00704  M01S00695.xedit   +++|*                 MACRO WILL ASSUME THAT THE CHARACTER NEEDS TO BE
00705  M01S00696.xedit   +++|*                 PRESET AND WILL GENERATE THE PROPER PRESET CODE.
00706  M01S00697.xedit   +++|*                A SPECIAL COMMAND CANNOT BE ALPHABETIC.
00707  M01S00698.xedit   +++|
00708  M01S00699.xedit   +++|          PURGMAC SPECIAL
00709  M01S00700.xedit   +++|
00710  M01S00701.xedit   +++| SPECIAL  MACRO  CHARS
00711  M01S00702.xedit   +++|          LOCAL  A,B
00712  M01S00703.xedit   +++| A BSS 0
00713  M01S00704.xedit   +++| B MICRO 1,,Z_CHARS_Z
00714  M01S00705.xedit   +++| C MICCNT B
00715  M01S00706.xedit   +++| . IFPL C-2
00716  M01S00707.xedit   +++| SPECIAL RMT
00717  M01S00708.xedit   +++|  VFD 42/A
00718  M01S00709.xedit   +++|  CHAR (VFD 18/0),CHARS
00719  M01S00710.xedit   +++|  RMT
00720  M01S00711.xedit   +++| HELPSP RMT
00721  M01S00712.xedit   +++|  CHAR (VFD 6/0),CHARS
00722  M01S00713.xedit   +++|  CHAR (VFD 48/0),(//_CHARS)
00723  M01S00714.xedit   +++|  VFD 6/0
00724  M01S00715.xedit   +++|  RMT
00725  M01S00716.xedit   +++| . ELSE
00726  M01S00717.xedit   +++| SPECIAL RMT
00727  M01S00718.xedit   +++|  VFD 42/A,18/1R_CHARS
00728  M01S00719.xedit   +++|  IFLE 1R_CHARS,26D,1
Line S00720 Modification History
M01 (Added by) xedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00729  M02S00720.v23l617 ---| 1 ERR ILLEGAL TO HAVE SPECIAL COMMAND BE ALPHABETIC.
00730  M01S00004.v23l617 +++| 1 ERR INCORRECT TO HAVE SPECIAL COMMAND BE ALPHABETIC.
00731  M01S00721.xedit   +++|  RMT
00732  M01S00722.xedit   +++| HELPSP RMT
00733  M01S00723.xedit   +++|  VFD 6/1R_CHARS,48/1R_CHARS,6/0
00734  M01S00724.xedit   +++|  RMT
00735  M01S00725.xedit   +++| . ENDIF
00736  M01S00726.xedit   +++|          ENDM   SPECIAL
00737  M01S00727.xedit   +++|          SPACE  4
00738  M01S00728.xedit   +++|**        INITIALIZE -HELPSP- REMOTE BLOCK.
00739  M01S00729.xedit   +++|*
00740  M01S00730.xedit   +++|
00741  M01S00731.xedit   +++|
00742  M01S00732.xedit   +++| HELPSP   RMT
00743  M01S00733.xedit   +++|          VFD    36/6H*****A,18/1RA,6/0  A POSTFIX
00744  M01S00734.xedit   +++|          VFD    36/6H*****W,18/1RW,6/0  W POSTFIX
00745  M01S00735.xedit   +++|          RMT
00746  M01S00736.xedit   +++|          TITLE  FETS AND BUFFERS (CODED AND STRING).
00747  M01S00737.xedit   +++|*         FETS
00748  M01S00738.xedit   +++|
00749  M01S00739.xedit   +++| CFET     BSS    0           COPY FET FOR *CFF*
00750  M01S00740.xedit   +++| SFET     BSS    0           SCRATCH FET FOR STATUS MACRO
00751  M01S00741.xedit   +++| PFET     BSS    0           SCRATCH FET FOR PFM ROUTINES
00752  M01S00742.xedit   +++| FT       BSS    0           SCRATCH FET FOR PFM ROUTINES
00753  M01S00743.xedit   +++|          CON    1
00754  M01S00744.xedit   +++|          VFD    12/,6/4,18/50,6/7,18/BUFB
00755  M01S00745.xedit   +++|          CON    BUFB        FET USED BY *CFF* FOR FAST COPIES
00756  M01S00746.xedit   +++|          CON    BUFB           OUT
00757  M01S00747.xedit   +++|          CON    BUFB+BUFBL  MUST AGREE WITH INCOMING EDIT FILE
00758  M01S00748.xedit   +++|          VFD    60/
00759  M01S00749.xedit   +++|          VFD    60/
00760  M01S00750.xedit   +++|          VFD    60/
00761  M01S00751.xedit   +++|          VFD    60/         PFN
Line S00752 Modification History
M01 (Added by) xedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00762  M02S00752.v23l617 ---|          VFD    60/         USER NUMBER
00763  M01S00005.v23l617 +++|          VFD    60/         USER NAME
00764  M01S00753.xedit   +++|          VFD    42/         PASSWORD
00765  M01S00754.xedit   +++|          VFD    18/ERR      ERROR ADDRESS
00766  M01S00755.xedit   +++|          VFD    60/         CONTROL WORD
00767  M01S00756.xedit   +++|
00768  M01S00757.xedit   +++| FFET     BSS    0           ADDRESS OF FIRST ACTUAL FET
00769  M01S00758.xedit   +++|*                            ALL FETS UNTIL LFET MUST BE 7 WORDS LONG
00770  M01S00759.xedit   +++|
00771  M01S00760.xedit   +++| FTI      BSS    0
00772  M01S00761.xedit   +++| INPUT    FILEC  BUFI,BUFIL,FET=7  INPUT FET
00773  M01S00762.xedit   +++|
00774  M01S00763.xedit   +++| FTO      BSS    0
00775  M01S00764.xedit   +++| OUTPUT   FILEC  BUFO,BUFOL,FET=7  OUTPUT FET
00776  M01S00765.xedit   +++|
00777  M01S00766.xedit   +++| FTD      BSS    0
00778  M01S00767.xedit   +++| SCRD     FILEC  BUFD,BUFDL,FET=7  COPY FET
00779  M01S00768.xedit   +++|
00780  M01S00769.xedit   +++|* RFET    FILEC  RBUF,BUFRL,ERP,FET=7  FET IN OVERLAY (OVL2)
00781  M01S00770.xedit   +++|
00782  M01S00771.xedit   +++| E.IN     BSS    0
00783  M01S00772.xedit   +++| FTB      BSS    0
00784  M01S00773.xedit   +++| SCRB     FILEC  BUFB,BUFBL,FET=7,EPR  INCOMING EDIT FILE
00785  M01S00774.xedit   +++|
00786  M01S00775.xedit   +++| E.OUT    BSS    0
00787  M01S00776.xedit   +++| FTA      BSS    0
00788  M01S00777.xedit   +++| SCRA     FILEC  BUFA,BUFAL,FET=7,EPR  OUTGOING EDIT FILE
00789  M01S00778.xedit   +++|
00790  M01S00779.xedit   +++| LFET     BSS    0           ADDRESS OF LAST FET + 7
00791  M01S00780.xedit   +++|
00792  M01S00781.xedit   +++|*         INPUT DEVICE DEFINITIONS.
00793  M01S00782.xedit   +++|
00794  M01S00783.xedit   +++| I        DEVICE INPUT,ON    MAIN INPUT DEVICE
00795  M01S00784.xedit   +++|
00796  M01S00785.xedit   +++| P        DEVICE             PREVIOUS COMMAND BUFFER
00797  M01S00786.xedit   +++|
00798  M01S00787.xedit   +++| S        DEVICE INPUT,,POP  SPECIAL INPUT MODE ESCAPE
00799  M01S00788.xedit   +++|
00800  M01S00789.xedit   +++| Y        DEVICE             Y/Z COMMAND BUFFER
00801  M01S00790.xedit   +++|
00802  M01S00791.xedit   +++|          PURGMAC  DEVICE    VOID USAGE OF MACRO
00803  M01S00792.xedit   +++|
00804  M01S00793.xedit   +++|*         OTHER CODED BUFFERS.
00805  M01S00794.xedit   +++|
00806  M01S00795.xedit   +++| D.LINE   BSSZ   33D         DATA LINE BUFFER
00807  M01S00796.xedit   +++|
00808  M01S00797.xedit   +++| E.LINE   BSSZ   33D         EDIT LINE BUFFER
00809  M01S00798.xedit   +++|
00810  M01S00799.xedit   +++|*         BUFFERS (STRING)
00811  M01S00800.xedit   +++|
00812  M01S00801.xedit   +++|          VFD    12/2000B,30/0,18/-1  CHAR POINTER AND DELIMITER
00813  M01S00802.xedit   +++| C.STR    VFD    2/3,*P/     END OF LINE MARKER
00814  M01S00803.xedit   +++|          BSSZ   MAXWD-1     COMMAND STRING BUFFER
00815  M01S00804.xedit   +++|          VFD    2/3,*P/     END OF LINE MARKER
00816  M01S00805.xedit   +++|
00817  M01S00806.xedit   +++|          DATA   0           LINE WIDTH
00818  M01S00807.xedit   +++| D.STR    BSSZ   MAXWD       DATA STRING BUFFER
00819  M01S00808.xedit   +++| D.STRL   EQU    *-D.STR     DATA STRING BUFFER LENGTH
00820  M01S00809.xedit   +++|          VFD    2/3,*P/     END OF LINE MARKER
00821  M01S00810.xedit   +++|
00822  M01S00811.xedit   +++|          DATA   0           LINE WIDTH
00823  M01S00812.xedit   +++| E.STR    BSSZ   MAXWD       EDIT LINE BUFFER
00824  M01S00813.xedit   +++|          VFD    2/3,*P/     END OF LINE MARKER
00825  M01S00814.xedit   +++|          BSSZ   1           SCRATCH CELL FOR LOCATES
00826  M01S00815.xedit   +++|
00827  M01S00816.xedit   +++|*         NOTE- THIS ARRAY CONTAINS PART OF XEDIT PRESET CODE.
00828  M01S00817.xedit   +++|*         CURRENT LINE WIDTH ENDS AT THE LAST NON-BLANK CHARACTER.
00829  M01S00818.xedit   +++|
00830  M01S00819.xedit   +++|          DATA   0           CURRENT LINE WIDTH
00831  M01S00820.xedit   +++| E.SCR    BSSZ   MAXWD       SCRATCH BUFFER (MUST BE AFTER E.STR)
00832  M01S00821.xedit   +++|          VFD    2/3,*P/     END OF LINE MARKER
00833  M01S00822.xedit   +++|          BSSZ   1           SCRATCH CELL FOR LOCATE
00834  M01S00823.xedit   +++|          TITLE  STORAGE ALLOCATION.
00835  M01S00824.xedit   +++|
00836  M01S00825.xedit   +++|*         STRING FIELD POINTERS - MAINTAIN ORDER.
00837  M01S00826.xedit   +++|
00838  M01S00827.xedit   +++| P1LP     DATA   0           STRING FIELD PARAMETERS
00839  M01S00828.xedit   +++| P1RP     DATA   0           PLEASE MAINTAIN ORDER
00840  M01S00829.xedit   +++| P2LP     DATA   0
00841  M01S00830.xedit   +++| P2RP     DATA   0
00842  M01S00831.xedit   +++| P3LP     DATA   0
00843  M01S00832.xedit   +++| P3RP     DATA   0
00844  M01S00833.xedit   +++|
00845  M01S00834.xedit   +++|*         EDIT LINE MODE CONTROL - PLEASE MAINTAIN ORDER.
00846  M01S00835.xedit   +++|
00847  M01S00836.xedit   +++| E.NMODE  DATA   0           EDIT - NEEDED MODE FOR LINE
00848  M01S00837.xedit   +++| E.CMODE  DATA   0           EDIT - CURRENT MODE
00849  M01S00838.xedit   +++| E.LMOD   DATA   0           EDIT - LINE MODIFICATION FLAG
00850  M01S00839.xedit   +++|
00851  M01S00840.xedit   +++|*         FILE NAME CELLS.
00852  M01S00841.xedit   +++|
00853  M01S00842.xedit   +++| COPY     DATA   0           NAME OF LAST COPY FILE
00854  M01S00843.xedit   +++| IFN      DATA   0           CURRENT FILE NAME PARAMETER
00855  M01S00844.xedit   +++| IRFN     DATA   0           FILE TO READ FROM IF FS = .FALSE.
00856  M01S00845.xedit   +++| ISFN     DATA   0           STARTING FILE NAME (EDITFIL)
00857  M01S00846.xedit   +++| LFN      DATA   0           LOGICAL FILE NAME
00858  M01S00847.xedit   +++|
00859  M01S00848.xedit   +++|*         MARGIN CONTROLS.
00860  M01S00849.xedit   +++|
00861  M01S00850.xedit   +++| IW       BSS    0
00862  M01S00851.xedit   +++| RMARG    CON    160         DEFAULT RIGHT MARGIN
00863  M01S00852.xedit   +++| LMW      CON    E.STR-1     * MAINTAIN ORDER OF NEXT 2
00864  M01S00853.xedit   +++| RMW      CON    E.STR+160   * WINDOW MARGINS
00865  M01S00854.xedit   +++| RTWD     DATA   0           VALUE OF RIGHT WINDOW MARGIN
00866  M01S00855.xedit   +++|
00867  M01S00856.xedit   +++|*         MISCELLANEOUS CELLS.
00868  M01S00857.xedit   +++|
00869  M01S00858.xedit   +++| AS       CON    0           0 = NO ASCII, IF *ASC* THEN RESTORE AT END
00870  M01S00859.xedit   +++| BATCH    DATA   0           .LT. 0 IF USER IS *BCOT*
00871  M01S00860.xedit   +++|                             .EQ. 0 IF USER IS *TXOT*
00872  M01S00861.xedit   +++|                             .GT. 0 IF USER SELECTED *B* OPTION
00873  M01S00862.xedit   +++| CHARSFT  BSSZ   1           SHIFT FOR ICH. SET IN PRESET
00874  M01S00863.xedit   +++| COMMAND  DATA   0           COMMAND DESCRIPTOR WORD
00875  M01S00864.xedit   +++| C.ON     CON    I.DEV       POINTER TO CURRENT INPUT DEVICE
00876  M01S00865.xedit   +++| DF       CON    0           * MAINTAIN ORDER OF *DF* AND *DR*
00877  M01S00866.xedit   +++| DR       CON    0           * (DELETE EOF/EOR COUNTERS)
00878  M01S00867.xedit   +++| ERR      BSSZ   5           PFM ERROR MESSAGES
00879  M01S00868.xedit   +++| EXPLAIN  VFD    12/2000B,*P/EXPLAIN ERROR MESSAGE POINTERS
00880  M01S00869.xedit   +++| EXTA     DATA   0           EXIT MODE FLAG
00881  M01S00870.xedit   +++| FS       CON    0           .TRUE. (NEG.) IF READING OFF SCRATCH FILES
00882  M01S00871.xedit   +++| GLOBAL   DATA   -1          GLOBAL CHARACTER FOR STRING SEARCHES
00883  M01S00872.xedit   +++| LNFLAG   DATA   -1          NEG. - LINE NUMBER MODE, POS - WHERE MODE
00884  M01S00873.xedit   +++| INDEX    DATA   0           ADDRESS OF COMMAND DESCRIPTOR WORD
00885  M01S00874.xedit   +++| INITZ    DATA   0           NON-ZERO WHEN PRESET IS COMPLETE
00886  M01S00875.xedit   +++| INPCHAR  CON    -1          INPUT MODE ESCAPE CHARACTER
00887  M01S00876.xedit   +++| INPMODE  CON    1           -1 IF IN INPUT MODE
00888  M01S00877.xedit   +++| ITOGGLF  DATA   -1          * MAINTAIN ORDER OF *ITOGGLF/ITOGGLR*
00889  M01S00878.xedit   +++| ITOGGLR  DATA   -1          * (PRINT EOR/EOR MESSAGE FLAGS)
00890  M01S00879.xedit   +++| IWHERE   CON    1           LINE COUNTER
00891  M01S00880.xedit   +++| MCOUNT   DATA   0           COUNT OF SUCCESSFUL LOCATES (PER CMD)
00892  M01S00881.xedit   +++| NOMOD    DATA   -1          .TRUE. (NEG) IF NO FILE MODS THIS PASS
00893  M01S00882.xedit   +++| NUMS     BSSZ   NTABS+1     STORAGE FOR PARAMETERS
00894  M01S00883.xedit   +++| NXTLINE  CON    0           OPTIONAL LINE NUMBER VALUE (IN CMDS)
00895  M01S00884.xedit   +++| PREFIX   CON    1BS1        COMMAND MODIFIER BITS (SEE BELOW)
00896  M01S00885.xedit   +++| PROMPT   CHAR   (VFD 6/0),QM.  TTY SPECIAL INPUT PROMPT
00897  M01S00886.xedit   +++|          CHAR   (VFD 6/0),QM.
00898  M01S00887.xedit   +++|          VFD    6/55B,18/0001B,24/0  SET NO <CR> CONTROL BYTE
00899  M01S00888.xedit   +++| RC       DATA   -1          .TRUE. (NEG) IF NO DATA READ (RDF/WTF)
00900  M01S00889.xedit   +++| SCOUNT   DATA   0           SLASH PREFIX COUNT
00901  M01S00890.xedit   +++| SKPCNT   DATA   0           SKIP COUNT FOR *-* COMMAND
00902  M01S00891.xedit   +++|
00903  M01S00892.xedit   +++|**        SPCP   - SPECIFIED PARAMETERS.
00904  M01S00893.xedit   +++|*T        1/  W, 1/  P, 1/  A, 57/  UNUSED
Figure

029 UNUSED3056575859 UNUSED A P W

00905  M01S00894.xedit   +++|*
00906  M01S00895.xedit   +++|*         W = 1 - WINDOW WAS SPECIFIED (ON A COMMAND).
Line S00896 Modification History
M01 (Added by) xedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00907  M02S00896.v23l617 ---|*         P = 1 - *P* OPTION SPECIFIED (ON CONTROL STATEMENT).
00908  M01S00006.v23l617 +++|*         P = 1 - *P* OPTION SPECIFIED (ON *XEDIT* COMMAND).
00909  M01S00897.xedit   +++|*         A = 1 - FILE IS DIRECT ACCESS (ONLY VALID IF *P*
00910  M01S00898.xedit   +++|*                 OPTION SPECIFIED).
00911  M01S00899.xedit   +++| SPCP     DATA   0
00912  M01S00900.xedit   +++|
00913  M01S00901.xedit   +++| TABCHAR  DATA   -1          * MAINTAIN ORDER OF TABCHAR/TABS
00914  M01S00902.xedit   +++| TABS     CON    11D,18,30D  * (TABCHAR AND INITIAL TAB SETTINGS)
00915  M01S00903.xedit   +++|          BSSZ   NTABS-2     * ZERO REST OF TABS + 1 END MARKER
00916  M01S00904.xedit   +++| TLX      CON    0           TELEX INTERRUPT FLAG
00917  M01S00905.xedit   +++| TRIM     DATA   0           .LT. 0 IF TRIM OPTION SET
00918  M01S00906.xedit   +++| TTYIN    CON    0           .NZ. IF NOT *TTY* INPUT FILE
00919  M01S00907.xedit   +++| TSTATUS  BSSZ   2           DATA RETURN FROM *TSTATUS*
00920  M01S00908.xedit   +++| UPDATE   DATA   -1          NEG. IF UPDATING EDIT FILE
00921  M01S00909.xedit   +++| VERIFY   DATA   -1          * MAINTAIN ORDER OF VERIFY FLAGS
00922  M01S00910.xedit   +++| XVERIFY  DATA   -1          * .TRUE. (NEGATIVE) IF VERIFYING
00923  M01S00911.xedit   +++|          IF     DEF,TIMES,1
00924  M01S00912.xedit   +++| TIMING   BSSZ   3
00925  M01S00913.xedit   +++|          SPACE  4
00926  M01S00914.xedit   +++|*         MISCELLANEOUS MICROS.
00927  M01S00915.xedit   +++|
00928  M01S00916.xedit   +++| PTFT     DECMIC PTFT        PRIMARY FILE TYPE
00929  M01S00917.xedit   +++|          SPACE  4
00930  M01S00918.xedit   +++|**        DEFINITION OF COMMAND MODIFIER BITS (PREFIX WORD).
00931  M01S00919.xedit   +++|*
00932  M01S00920.xedit   +++|*         NOTE-  THIS WORD IS ZEROED BEFORE CRACKING ANY COMMAND.
00933  M01S00921.xedit   +++|
00934  M01S00922.xedit   +++|          QUAL   PREFIX
00935  M01S00923.xedit   +++| PLUS     EQU    1           + PREFIX CHARACTER
00936  M01S00924.xedit   +++| PLUS     DECMIC PLUS
00937  M01S00925.xedit   +++| A        EQU    2           A POSTFIX CHARACTER
00938  M01S00926.xedit   +++| A        DECMIC A
00939  M01S00927.xedit   +++| W        EQU    3           W POSTFIX CHARACTER
00940  M01S00928.xedit   +++| W        DECMIC W
00941  M01S00929.xedit   +++|          QUAL   *
00942  M01S00930.xedit   +++|          SPACE  4
00943  M01S00931.xedit   +++|**        DEFINITION OF SPECIAL BITS USED IN COMMAND DESCRIPTOR.
00944  M01S00932.xedit   +++|*
00945  M01S00933.xedit   +++|
00946  M01S00934.xedit   +++|
00947  M01S00935.xedit   +++|          QUAL   OPTS
00948  M01S00936.xedit   +++| CR       EQU    47D         COMMAND LEGAL IN CREATION MODE
00949  M01S00937.xedit   +++| F0       EQU    44D         NUMBER FIELD FORCE 0 IN INPUT MODE
00950  M01S00938.xedit   +++| LK       EQU    46D         COMMAND LEGAL IN LOOK MODE
00951  M01S00939.xedit   +++| IN       EQU    45D         COMMAND LEGAL IN INPUT MODE
00952  M01S00940.xedit   +++|          QUAL   *
00953  M01S00941.xedit   +++|          TITLE  TABLES AND MESSAGES.
00954  M01S00942.xedit   +++|**        CHARACTER SET REPLACEMENT TABLE.
00955  M01S00943.xedit   +++|*T        24/AS,  18/64 C,  18/63 C
Figure

017182963 C64 C3035365964 CAS

00956  M01S00944.xedit   +++|*
00957  M01S00945.xedit   +++|*         AS   = ASCII 6/12 CHARACTER SET.
00958  M01S00946.xedit   +++|*         64 C = 64 CHARACTER SET.
00959  M01S00947.xedit   +++|*         63 C = 63 CHARACTER SET.
00960  M01S00948.xedit   +++|*
00961  M01S00949.xedit   +++|
00962  M01S00950.xedit   +++| AM.      VFD    24/67B,18/67B,18/67B            AMPERSAND
00963  M01S00951.xedit   +++| BL.      VFD    24/7647B,18/7647B,18/7647B      BELL (EXTENDED MODE)
00964  M01S00952.xedit   +++| QM.      VFD    24/71B,18/71B,18/71B            QUESTION MARK
00965  M01S00953.xedit   +++| SH.      VFD    24/60B,18/60B,18/60B            SHARP
00966  M01S00954.xedit   +++| UA.      VFD    24/7402B,18/76B,18/76B          UP ARROW
00967  M01S00955.xedit   +++|
00968  M01S00956.xedit   +++|*         XEDIT MESSAGE TABLE.
00969  M01S00957.xedit   +++|*
00970  M01S00958.xedit   +++|*         NOTE-  ANY SECONDARY MESSAGES DEFINED WITHIN XEDIT
00971  M01S00959.xedit   +++|*         ARE ASSUMED TO BE IN OCTAL.
00972  M01S00960.xedit   +++|*         TOTAL NUMBER OF PRIMARY ERROR MESSAGES MUST BE LESS
00973  M01S00961.xedit   +++|*         THAN 40B.
00974  M01S00962.xedit   +++|
00975  M01S00963.xedit   +++| MESSAGE  EQU    *-1         BASE ADDR OF MESSAGE TABLE
00976  M01S00964.xedit   +++|          LOC    1
00977  M01S00965.xedit   +++| PFM.     CON    ERR         KLUDGE FOR PFM ERRORS
00978  M01S00966.xedit   +++| ARG.     ERRMSG 1,(ARGUMENT ERROR)
00979  M01S00967.xedit   +++|                             1 = INPUT MODE - COMMAND HAS COUNT (F0)
00980  M01S00968.xedit   +++| BFN.     ERRMSG 1,(BAD FILE NAME)
00981  M01S00969.xedit   +++|                             1 = BAD FILE NAME
00982  M01S00970.xedit   +++|                             2 = NO FILE NAME
00983  M01S00971.xedit   +++|                             3 = SPECIAL/RESERVED NAME
00984  M01S00972.xedit   +++| BTL.     ERRMSG 1,(BAD TEXT LINE ENCOUNTERED)
00985  M01S00973.xedit   +++| CNV.     ERRMSG 1,(COMMAND NOT VALID)
00986  M01S00974.xedit   +++|                             1 = IN CREATION MODE
Line S00975 Modification History
M01 (Added by) xedit
M02 (Updated by) xedit23
Seq #  *Modification Id* Act 
----------------------------+
00987  M02S00975.xedit23 ---|                             2 = IN LOOK MODE (NOT IMPLEMENTED YET)
00988  M01S00001.xedit23 +++|                             2 = IN LOOK MODE
00989  M01S00976.xedit   +++|                             3 = IN INPUT MODE
00990  M01S00977.xedit   +++| DEL.     ERRMSG 1,(DELIMITER)
Line S00978 Modification History
M01 (Added by) xedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00991  M02S00978.v23l617 ---| EMI.     ERRMSG 1,(FILE FUNCTION ILLEGAL)
00992  M01S00007.v23l617 +++| EMI.     ERRMSG 1,(FILE FUNCTION INCORRECT)
00993  M01S00979.xedit   +++|                             1 = NOT ALLOWED TO CHANGE FILE
Line S00980 Modification History
M01 (Added by) xedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00994  M02S00980.v23l617 ---|                             2 = *L* ILLEGAL ON DA/MT FILES
00995  M01S00008.v23l617 +++|                             2 = *L* INCORRECT ON DA/MT FILES
00996  M01S00981.xedit   +++|*                PLEASE MAINTAIN ORDER OF NEXT TWO
00997  M01S00982.xedit   +++| EOF.     ERRMSG 0,(--EOF--)
00998  M01S00983.xedit   +++| EOR.     ERRMSG 0,(--EOR--)
00999  M01S00984.xedit   +++| EOI.     ERRMSG 2,(END OF FILE)
01000  M01S00985.xedit   +++| FCP.     ERRMSG 0,(FILENAM REWRITTEN)
01001  M01S00986.xedit   +++| FCR.     ERRMSG 0,(FILENAM CANNOT BE ACCESSED)
01002  M01S00987.xedit   +++|                             1 = FILE IS EXECUTE OR APPEND ONLY FILE
01003  M01S00988.xedit   +++|                             2 = FILE IS NOT LOCAL TO JOB
01004  M01S00989.xedit   +++|                             3 = FILE NOT IN PERM. FILE AREA
01005  M01S00990.xedit   +++| FLC.     ERRMSG 0,(FILENAM IS A LOCAL FILE)
01006  M01S00991.xedit   +++| FRP.     ERRMSG 0,(FILENAM REPLACED)
01007  M01S00992.xedit   +++| FSV.     ERRMSG 0,(FILENAM SAVED)
Line S00993 Modification History
M01 (Added by) xedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01008  M02S00993.v23l617 ---| ILL.     ERRMSG 1,(ILLEGAL PARAMETER)
01009  M01S00009.v23l617 +++| ILL.     ERRMSG 1,(INCORRECT PARAMETER)
01010  M01S00994.xedit   +++| LFM.     ERRMSG 0,(LOCAL FILE ERROR)
01011  M01S00995.xedit   +++| LNNF.    ERRMSG 1,(LINE NUMBER NOT FOUND, COMMAND NOT EXECUTED)
01012  M01S00996.xedit   +++| LNTL.    ERRMSG 1,(LINE NUMBER TOO LARGE)
01013  M01S00997.xedit   +++| NSC.     ERRMSG 1,(NO SUCH COMMAND)
01014  M01S00998.xedit   +++| SNF.     ERRMSG 1,(STRING NOT FOUND)
01015  M01S00999.xedit   +++| STK.     ERRMSG 1,(COMMAND STACKING ERROR)
01016  M01S01000.xedit   +++| TRUNC.   ERRMSG 1,(TRUNCATION AT       LINE)
01017  M01S01001.xedit   +++|          LOC    *O
01018  M01S01002.xedit   +++| ERRBASE  BSS    0           SET MESSAGE BASE ADDRESS
01019  M01S01003.xedit   +++|          ERRMSG             NOTE END OF TABLE
01020  M01S01004.xedit   +++|          TITLE  COMMAND PARSER - MAIN LOOP.
01021  M01S01005.xedit   +++| NCM      SPACE  4,20
01022  M01S01006.xedit   +++|**        NCM - GET NEXT COMMAND.
01023  M01S01007.xedit   +++|*
01024  M01S01008.xedit   +++|*         ENTRY  NONE.
01025  M01S01009.xedit   +++|*
01026  M01S01010.xedit   +++|*         EXIT   TO COMMAND PROCESSING ROUTINE AFTER PARSING
01027  M01S01011.xedit   +++|*                PARAMETERS AND HANDLING ERRORS.
01028  M01S01012.xedit   +++|*                (X1) = COMMAND DESCRIPTOR WORD.
01029  M01S01013.xedit   +++|*
01030  M01S01014.xedit   +++|*         USES   A - 1, 2, 3, 4, 5, 6, 7.
01031  M01S01015.xedit   +++|*                X - ALL.
01032  M01S01016.xedit   +++|*                B - 2, 3, 4, 5, 6, 7.
01033  M01S01017.xedit   +++|*
01034  M01S01018.xedit   +++|*         CALLS  CDD, SCD, VIS.
01035  M01S01019.xedit   +++|*
01036  M01S01020.xedit   +++|*         MACROS GETJA, WRITEO.
01037  M01S01021.xedit   +++|
01038  M01S01022.xedit   +++| NCM      BSS    0           ENTRY
01039  M01S01023.xedit   +++|          RJ     SCD         ASSURE CODED MODE AT START OF COMMAND
01040  M01S01024.xedit   +++|          IF     DEF,TIMES
01041  M01S01025.xedit   +++|          SA4    TIMING+1
01042  M01S01026.xedit   +++|          GETJA  TIMING      GET ELAPSED TIME
01043  M01S01027.xedit   +++|          SA1    A4
01044  M01S01028.xedit   +++|          IX1    X1-X4       ELAPSED TIME
01045  M01S01029.xedit   +++|          RJ     CDD         CONVERT
01046  M01S01030.xedit   +++|          WRITEO OUTPUT
01047  M01S01031.xedit   +++|          MX6    0           LINE FEED
01048  M01S01032.xedit   +++|          WRITEO X2
01049  M01S01033.xedit   +++|          ENDIF
01050  M01S01034.xedit   +++|
01051  M01S01035.xedit   +++|          SA1    C.STR-1     COMMAND LINE CONTROL WORD
01052  M01S01036.xedit   +++|          SA4    EXPLAIN     UPDATE EXPLAIN WORD
01053  M01S01037.xedit   +++|          R=     X6,M.CODED
01054  M01S01038.xedit   +++|          UX1    B7,X1       B7 = CHARACTER POINTER
01055  M01S01039.xedit   +++|          SA6    E.NMODE     SET MODE NEEDED TO CODED
01056  M01S01040.xedit   +++|          LE     B7,NCL      IF READ REQUIRED
01057  M01S01041.xedit   +++|          SA5    A1+B7
01058  M01S01042.xedit   +++|          BX6    X6-X6
01059  M01S01043.xedit   +++|          SA6    PREFIX      RESET PREFIX WORD
01060  M01S01044.xedit   +++|          SA2    XVERIFY
01061  M01S01045.xedit   +++|          AX4    12
01062  M01S01046.xedit   +++|          SB6    X1          B6 = DELIMITER CHARACTER
01063  M01S01047.xedit   +++|          BX7    X2
01064  M01S01048.xedit   +++|          PX6    B0,X4
01065  M01S01049.xedit   +++|          NG     X5,NCM22    IF AT END OF LINE (NO SUCH CMD)
01066  M01S01050.xedit   +++|          SA6    A4          REPLACE EXPLAIN WORD
01067  M01S01051.xedit   +++|          SA2    A5          GET FIRST CHARACTER OF NEW CMD
01068  M01S01052.xedit   +++|          SA7    VERIFY      SET VERIFY FLAG
01069  M01S01053.xedit   +++|          BX7    X7-X7
01070  M01S01054.xedit   +++|          SA7    SCOUNT      INITIALIZE SLASH COUNT
01071  M01S01055.xedit   +++|          NG     B6,NCM2     IF NO DELIMETER CHARACTER
01072  M01S01056.xedit   +++| NCM1     NG     X2,NCM2     IF END OF LINE REACHED
01073  M01S01057.xedit   +++|          SB5    X2
01074  M01S01058.xedit   +++|          SA2    A2+B1
01075  M01S01059.xedit   +++|          NE     B5,B6,NCM1  IF NOT DELIMITER CHARACTER
01076  M01S01060.xedit   +++|          SX6    B5+
01077  M01S01061.xedit   +++|          MX7    1           SET PSEUDO END OF LINE
01078  M01S01062.xedit   +++|          BX6    X6+X7
01079  M01S01063.xedit   +++|          SA6    A2-1
01080  M01S01064.xedit   +++|
01081  M01S01065.xedit   +++|*         PARSE PREFIX CHARACTERS.
01082  M01S01066.xedit   +++|
01083  M01S01067.xedit   +++| NCM2     SA3    PREFIXT-1
01084  M01S01068.xedit   +++|          BX6    X5
01085  M01S01069.xedit   +++|          SB6    X5          B6 = DELIMITER CHARACTER
01086  M01S01070.xedit   +++|          SA6    PREFIXU
01087  M01S01071.xedit   +++|          SA7    INDEX       CLEAR INDEX (TOPNULL 'P4 BUG)
01088  M01S01072.xedit   +++| NCM3     SA3    A3+B1
01089  M01S01073.xedit   +++|          SB3    X3
01090  M01S01074.xedit   +++|          NE     B3,B6,NCM3  IF NOT THIS PREFIX CHARACTER
01091  M01S01075.xedit   +++|          AX3    18
01092  M01S01076.xedit   +++|          SB6    X3
01093  M01S01077.xedit   +++|          ZR     B6,NCM4     IF NOT REALLY PREFIX CHARACTER
01094  M01S01078.xedit   +++|          SA5    A5+B1       PREPARE FOR NEXT CHARACTER
01095  M01S01079.xedit   +++|          JP     B6          PROCESS PREFIX CHARACTER
01096  M01S01080.xedit   +++|
01097  M01S01081.xedit   +++|*         CLOSE PREFIX PARSING.
01098  M01S01082.xedit   +++|
01099  M01S01083.xedit   +++| NCM4     SB3    2
01100  M01S01084.xedit   +++|          SX7    0           CLEAR ASSEMBLY
01101  M01S01085.xedit   +++|
01102  M01S01086.xedit   +++|*         BEGIN PARSING FOR LINE NUMBER.
01103  M01S01087.xedit   +++|
01104  M01S01088.xedit   +++| NCM5     SX0    X5-1R9-1
01105  M01S01089.xedit   +++|          SX2    X5-1R0
01106  M01S01090.xedit   +++|          BX0    -X2*X0
01107  M01S01091.xedit   +++|          PL     X0,NCM6     IF NOT A NUMBER
01108  M01S01092.xedit   +++|          LX0    B3,X7       *2
01109  M01S01093.xedit   +++|          IX7    X0+X7       *5
01110  M01S01094.xedit   +++|          SA5    A5+B1
01111  M01S01095.xedit   +++|          LX7    1           *10
01112  M01S01096.xedit   +++|          IX7    X7+X2
01113  M01S01097.xedit   +++|          EQ     NCM5        CHECK NEXT CHARACTER
01114  M01S01098.xedit   +++|
01115  M01S01099.xedit   +++|*         SAVE LINE NUMBER AND PARSE COMMAND.
01116  M01S01100.xedit   +++|
01117  M01S01101.xedit   +++| NCM6     MX6    1
01118  M01S01102.xedit   +++|          SA7    NXTLINE     SAVE NEXT LINE
01119  M01S01103.xedit   +++|          MX4    26
01120  M01S01104.xedit   +++|          MX3    -6
01121  M01S01105.xedit   +++|          NG     X5,NCM9     IF AT END OF LINE
01122  M01S01106.xedit   +++|          LX4    -5          POSITION MASK
01123  M01S01107.xedit   +++| NCM7     BX0    -X3*X5
01124  M01S01108.xedit   +++|          SB3    X0+4
01125  M01S01109.xedit   +++|          LX1    B3,X4
01126  M01S01110.xedit   +++|          PL     X1,NCM9     IF NO A-Z
01127  M01S01111.xedit   +++|          BX1    X3*X5       CHECK TO SEE IF ASCII
01128  M01S01112.xedit   +++|          ZR     X1,NCM8     IF UPPER CASE LETTER
01129  M01S01113.xedit   +++|          SX1    X1-7600B
01130  M01S01114.xedit   +++|          NZ     X1,NCM9     IF NOT LOWER CASE LETTER
01131  M01S01115.xedit   +++| NCM8     LX6    6
01132  M01S01116.xedit   +++|          BX6    X6+X0
01133  M01S01117.xedit   +++|          SA5    A5+1
01134  M01S01118.xedit   +++|          PL     X5,NCM7     IF NOT AT END OF LINE
01135  M01S01119.xedit   +++|
01136  M01S01120.xedit   +++|*         DETERMINE IF *W* POSTFIX, LEFT JUSTIFY COMMAND.
01137  M01S01121.xedit   +++|
01138  M01S01122.xedit   +++| NCM9     BX1    -X3*X6      GET LAST CHARACTER
01139  M01S01123.xedit   +++|          MX0    1
01140  M01S01124.xedit   +++|          SX7    1BS"W"
01141  M01S01125.xedit   +++|          SX4    X1-1RW
01142  M01S01126.xedit   +++|          ZR     X4,NCM10    IF W POSTFIX (W HAS JUSTIFICATION BIT)
01143  M01S01127.xedit   +++|          SB3    X1+
01144  M01S01128.xedit   +++|          SX7    1BS"A"
01145  M01S01129.xedit   +++|          NE     B3,B1,NCM11 IF NOT *A* POSTFIX
01146  M01S01130.xedit   +++| NCM10    SA4    PREFIX
01147  M01S01131.xedit   +++|          BX6    X3*X6       REMOVE POSTFIX
01148  M01S01132.xedit   +++|          BX7    X7+X4
01149  M01S01133.xedit   +++|          SA7    A4          REPLACE PREFIX WORD
01150  M01S01134.xedit   +++| NCM11    LX6    6           LEFT JUSTIFY
01151  M01S01135.xedit   +++|          PL     X6,NCM11    IF NOT LEFT JUSTIFIED
01152  M01S01136.xedit   +++|          BX6    -X0*X6      REMOVE JUSTIFICATION BIT
01153  M01S01137.xedit   +++|
01154  M01S01138.xedit   +++|*         SKIP BLANKS AND FIRST COMMA. STOPS ON FIRST NON-BLANK
01155  M01S01139.xedit   +++|*         CHARACTER OR ON SECOND COMMA.
01156  M01S01140.xedit   +++|*         ASSUMES X0 IS NEGATIVE AT ENTRY.
01157  M01S01141.xedit   +++|
01158  M01S01142.xedit   +++| NCM12    NG     X5,NCM14    IF END OF LINE
01159  M01S01143.xedit   +++|          SB3    X5-1R       0 = BLANK, 1 = COMMA
01160  M01S01144.xedit   +++|          ZR     B3,NCM13    IF BLANK
01161  M01S01145.xedit   +++|          NE     B3,B1,NCM14 IF NOT COMMA
01162  M01S01146.xedit   +++|          PL     X0,NCM14    IF SECOND COMMA
01163  M01S01147.xedit   +++|          SX0    0           SET COMMA ENCOUNTERED
01164  M01S01148.xedit   +++| NCM13    SA5    A5+B1
01165  M01S01149.xedit   +++|          EQ     NCM12       CHECK NEXT CHARACTER
01166  M01S01150.xedit   +++|
01167  M01S01151.xedit   +++|*         LOOK UP COMMAND IN COMMAND TABLE.
01168  M01S01152.xedit   +++|
01169  M01S01153.xedit   +++| NCM14    ZR     X6,NCM24    IF NO COMMAND
01170  M01S01154.xedit   +++|          SA4    JUMP-1
01171  M01S01155.xedit   +++|          SA6    JUMPX       PRESET COMMAND TABLE
01172  M01S01156.xedit   +++| NCM14.1  SA4    A4+B1       GET NEXT COMMAND
01173  M01S01157.xedit   +++|          IX3    X4-X6
01174  M01S01158.xedit   +++|          NG     X4,NCM14.1  IF DATA WORD
01175  M01S01159.xedit   +++|          NZ     X3,NCM14.1  IF NOT THIS ENTRY
01176  M01S01160.xedit   +++| NCM15    SA4    A4+B1
01177  M01S01161.xedit   +++|          PL     X4,NCM15    IF NOT DATA CELL ASSOCIATED WITH COMMA
01178  M01S01162.xedit   +++|          SX0    X4
01179  M01S01163.xedit   +++|
01180  M01S01164.xedit   +++|*         CODE IS REPLACE AFTER CREATION MODE IS EXITED
01181  M01S01165.xedit   +++|
01182  M01S01166.xedit   +++| NCMA     SA3    IWHERE
01183  M01S01167.xedit   +++|          EQ     NCM16       JUMP TO PRESET TEST
01184  M01S01168.xedit   +++|
01185  M01S01169.xedit   +++| NCM      RMT
01186  M01S01170.xedit   +++|          ZR     X0,NCM23    IF NO JUMP ADDRESS (NO SUCH COMMAND)
01187  M01S01171.xedit   +++|          SA3    UPDATE
01188  M01S01172.xedit   +++|          RMT
01189  M01S01173.xedit   +++|
01190  M01S01174.xedit   +++|          SX6    A4          SAVE INSTRUCTION INDEX
01191  M01S01175.xedit   +++|          BX3    X3+X4       CHECK LOOK COMMAND PERMISSION NECESSARY
01192  M01S01176.xedit   +++|          SA1    INPMODE
01193  M01S01177.xedit   +++|          BX7    X4          SAVE COPY OF COMMAND DATA WORD
01194  M01S01178.xedit   +++|          LX3    59-/OPTS/LK
01195  M01S01179.xedit   +++|          SA6    INDEX
01196  M01S01180.xedit   +++|          BX1    -X4*X1      NEG. IF IN INPUT AND COMMAND NOT OK
01197  M01S01181.xedit   +++|          LX1    59-/OPTS/IN
01198  M01S01182.xedit   +++|          SA7    COMMAND
01199  M01S01183.xedit   +++|          NG     X1,NCM20    IF NOT LEGAL IN INPUT MODE
01200  M01S01184.xedit   +++|          PL     X3,NCM21    IF NOT VALID IN LOOK MODE
01201  M01S01185.xedit   +++|          UX4    B6,X4       GET ARGUMENT DESCRIPTOR ADDRESS
01202  M01S01186.xedit   +++|          ZR     B6,PST      IF NO ARGUMENTS
01203  M01S01187.xedit   +++|          JP     B6+PRM.     PARSE PARAMETERS
01204  M01S01188.xedit   +++|
01205  M01S01189.xedit   +++|*         CREATION MODE CODE.
01206  M01S01190.xedit   +++|*         ENTRY   (X3) = IWHERE.
01207  M01S01191.xedit   +++|
01208  M01S01192.xedit   +++| NCM16    NG     X3,NCM18    IF IN CREATION MODE
01209  M01S01193.xedit   +++|          SA3    NCM17       GET INSTRUCTION REPLACEMENT WORD
01210  M01S01194.xedit   +++|          NO
01211  M01S01195.xedit   +++|          BX6    X3
01212  M01S01196.xedit   +++|          SA6    NCMA
01213  M01S01197.xedit   +++|          RJ     VIS         VOID INSTRUCTION STACK
01214  M01S01198.xedit   +++| NCM17    BSS    0
01215  M01S01199.xedit   +++| NCM      HEREL
01216  M01S01200.xedit   +++|          EQ     NCMA+1      JUMP INTO REQULAR CODE
01217  M01S01201.xedit   +++|
01218  M01S01202.xedit   +++| NCM18    ZR     X0,NCM23    IF NO SUCH COMMAND
01219  M01S01203.xedit   +++|          BX3    -X4*X3
01220  M01S01204.xedit   +++|          LX3    59-/OPTS/CR POSITION CREATION LEGAL STATUS
Line S01205 Modification History
M01 (Added by) xedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01221  M02S01205.v23l617 ---|          NG     X3,NCM19    IF COMMAND INVALID IN CREATION MODE
01222  M01S00010.v23l617 +++|          NG     X3,NCM19    IF COMMAND NOT ALLOWED IN CREATION MODE
01223  M01S01206.xedit   +++|          SA3    UPDATE
01224  M01S01207.xedit   +++|          EQ     NCMA+1      PROCESS COMMAND
01225  M01S01208.xedit   +++|
01226  M01S01209.xedit   +++|*         ERROR PROCESSING ROUTINES.
01227  M01S01210.xedit   +++|
01228  M01S01211.xedit   +++| NCM19    SB2    CNV.*100B+1 SET *NOT VALID* IN CREATION MODE
01229  M01S01212.xedit   +++|          EQ     NER         PROCESS ERROR
01230  M01S01213.xedit   +++|
01231  M01S01214.xedit   +++| NCM20    SB2    CNV.*100B+3 SET *NOT VALID* IN INPUT MODE
01232  M01S01215.xedit   +++|          EQ     NER         PROCESS ERROR
01233  M01S01216.xedit   +++|
01234  M01S01217.xedit   +++| NCM21    SB2    CNV.*100B+2 SET *NOT VALID* IN LOOK MODE
01235  M01S01218.xedit   +++|          EQ     NER         PROCESS ERROR
01236  M01S01219.xedit   +++|
01237  M01S01220.xedit   +++| NCM22    SA1    C.STR-1     SET READ REQUIRED
01238  M01S01221.xedit   +++|          PX6    B0,X1
01239  M01S01222.xedit   +++|          SA6    A1
01240  M01S01223.xedit   +++|
01241  M01S01224.xedit   +++| NCM23    SB2    NSC.        NO SUCH COMMAND
01242  M01S01225.xedit   +++|          EQ     NER         PROCESS ERROR
01243  M01S01226.xedit   +++|
01244  M01S01227.xedit   +++|*         IF NO COMMAND IS FOUND, CHECK FOR SPECIAL COMMANDS.
01245  M01S01228.xedit   +++|
01246  M01S01229.xedit   +++| NCM24    NG     X5,NCM28    IF END OF LINE (POSSIBLY FINDLN)
01247  M01S01230.xedit   +++|          SA4    SPCMDT-1
01248  M01S01231.xedit   +++|          BX6    X5
01249  M01S01232.xedit   +++|          SA6    SPCMDU
01250  M01S01233.xedit   +++|          SB3    X5
01251  M01S01234.xedit   +++| NCM25    SA4    A4+B1
01252  M01S01235.xedit   +++|          SB4    X4
01253  M01S01236.xedit   +++|          NE     B4,B3,NCM25 IF NO MATCH
01254  M01S01237.xedit   +++|          AX4    18
01255  M01S01238.xedit   +++|          SB4    X4
01256  M01S01239.xedit   +++|          ZR     X4,NCM23    IF NO SUCH COMMAND (NULL)
01257  M01S01240.xedit   +++|
01258  M01S01241.xedit   +++|*         SKIP BLANKS AND ONE COMMA.
01259  M01S01242.xedit   +++|
01260  M01S01243.xedit   +++| NCM26    SA5    A5+1        STEP OVER SPECIAL CHARACTER
01261  M01S01244.xedit   +++|          NG     X5,NCM27    IF END OF LINE
01262  M01S01245.xedit   +++|          SB2    X5-1R
01263  M01S01246.xedit   +++|          ZR     B2,NCM26    IF BLANK
01264  M01S01247.xedit   +++|          NE     B2,B1,NCM27 IF NOT COMMA
01265  M01S01248.xedit   +++|          ZR     X4,NCM27    IF SECOND COMMA
01266  M01S01249.xedit   +++|          MX4    0
01267  M01S01250.xedit   +++|          EQ     NCM26       CHECK NEXT CHARACTER
01268  M01S01251.xedit   +++|
01269  M01S01252.xedit   +++| NCM27    JP     B4          PROCESS SPECIAL COMMAND
01270  M01S01253.xedit   +++|
01271  M01S01254.xedit   +++|*         CHECK FOR FINDLN COMMAND, ELSE NO SUCH COMMAND.
01272  M01S01255.xedit   +++|
01273  M01S01256.xedit   +++| NCM28    SA1    NXTLINE
01274  M01S01257.xedit   +++|          SA2    IWHERE
01275  M01S01258.xedit   +++|          ZR     X1,NCM23    IF NOT TO FIND LINE NUMBER
01276  M01S01259.xedit   +++|          SA3    INPMODE
01277  M01S01260.xedit   +++|          NG     X2,NCM19    IF IN CREATION MODE
01278  M01S01261.xedit   +++|          BX6    X1
01279  M01S01262.xedit   +++|          MX7    0
01280  M01S01263.xedit   +++|          NG     X3,NCM20    IF IN INPUT MODE (CANNOT MOVE PTR)
01281  M01S01264.xedit   +++|          SA6    NUMS        MOVE PARAMETER
01282  M01S01265.xedit   +++|          SX6    FLN
01283  M01S01266.xedit   +++|          SA7    NXTLINE     CLEAR NXTLINE OPTION
01284  M01S01267.xedit   +++|          SA6    COMMAND
01285  M01S01268.xedit   +++|          EQ     PRM.+NONE   PROCESS COMMAND
01286  M01S01269.xedit   +++|
01287  M01S01270.xedit   +++|PRM       SPACE  4,20
01288  M01S01271.xedit   +++|**        PRM - COMMAND PARAMETER CRACKER.
01289  M01S01272.xedit   +++|*
01290  M01S01273.xedit   +++|*         ENTRY  (A5) = ADDRESS OF CURRENT CHARACTER.
01291  M01S01274.xedit   +++|*                (X5) = CURRENT CHARACTER.
01292  M01S01275.xedit   +++|*                (X7) = COMMAND DESCRIPTOR WORD.
01293  M01S01276.xedit   +++|*
01294  M01S01277.xedit   +++|*         EXIT   IF NO ERROR, TO *PST* OR *PST7*.
01295  M01S01278.xedit   +++|*                IF ERROR, TO *NER* TO PROCESS ERROR.
01296  M01S01279.xedit   +++|*
01297  M01S01280.xedit   +++|*         USES   A - ALL.
01298  M01S01281.xedit   +++|*                X - ALL.
01299  M01S01282.xedit   +++|*                B - 2, 3, 4, 5, 6, 7.
01300  M01S01283.xedit   +++|*
01301  M01S01284.xedit   +++|*         CALLS  GFN, VAL.
01302  M01S01285.xedit   +++|*
01303  M01S01286.xedit   +++|*         MACROS ERROR, GET, MEMORY, PARAM, RETURN, WRITEC.
01304  M01S01287.xedit   +++|*
01305  M01S01288.xedit   +++|*         NOTES  THIS ROUTINE INITIALIZES PARAMETERS FOR THE VARIOUS
01306  M01S01289.xedit   +++|*                ROUTINES AND IS ENTERED AT SEVERAL PLACES LABELED
01307  M01S01290.xedit   +++|*                AS SUCH.
01308  M01S01291.xedit   +++|
01309  M01S01292.xedit   +++|
01310  M01S01293.xedit   +++| PRMA     VFD    27/0,10/-0,2/0,1/1,*P/  NUMBER * MASK
01311  M01S01294.xedit   +++| PRMB     BSSZ   1           SCRATCH CELL AVAILABLE FOR USE BY PARSER
01312  M01S01295.xedit   +++| PRMC     BSS    0
01313  M01S01296.xedit   +++|          LOC    0
01314  M01S01297.xedit   +++|          DATA   1RL         LOCAL FILE
01315  M01S01298.xedit   +++|          DATA   1RR         REPLACE FILE
01316  M01S01299.xedit   +++|          DATA   1RS         SAVE FILE
01317  M01S01300.xedit   +++|          DATA   1RC         COPYBACK FILE
01318  M01S01301.xedit   +++|          LOC    *O
01319  M01S01302.xedit   +++| PRMCL    EQU    *-PRMC
01320  M01S01303.xedit   +++|
01321  M01S01304.xedit   +++| PRM.     EQU    *-1         BASE ADDRESS
01322  M01S01305.xedit   +++|
01323  M01S01306.xedit   +++|**        STRING PARAMETERS.
01324  M01S01307.xedit   +++|*
01325  M01S01308.xedit   +++|*         CAN BE ONE OF SEVERAL FORMS WHICH ARE-
01326  M01S01309.xedit   +++|*         1.  /STRING...STRING/COUNT   (COUNT OPTIONAL)
01327  M01S01310.xedit   +++|*         2.  /STRING/COUNT            (COUNT OPTIONAL)
01328  M01S01311.xedit   +++|*         3.  /STRING/STRING/COUNT     (COUNT OPTIONAL)
01329  M01S01312.xedit   +++|*         4.  COUNT                    (COUNT OPTIONAL)
01330  M01S01313.xedit   +++|*
01331  M01S01314.xedit   +++|*         THE OPTIONS ARE SELECTED BY USING THE MODIFIER FIELD IN THE
01332  M01S01315.xedit   +++|*         COMMAND DESCRIPTOR WORD. FOR MOST COMMANDS, THE 18 BIT
01333  M01S01316.xedit   +++|*         FIELD CONTAINS ANY DATA NEEDED BY EITHER THE  COMMAND
01334  M01S01317.xedit   +++|*         PARSER OR THE COMMAND ROUTINE. HOWEVER- IN THE CASE
01335  M01S01318.xedit   +++|*         OF ANY COMMAND USING THE STRING AND/OR FILE PARAMETER
01336  M01S01319.xedit   +++|*         SPECIFICATION, THE MODIFIER FIELD INFORMATION IS FIXED
01337  M01S01320.xedit   +++|*         AND CONTAINS THE FOLLOWING INFORMATION.
01338  M01S01321.xedit   +++|*
01339  M01S01322.xedit   +++|*         BIT 16 = FIRST STRING NECESSARY (CAN BE NULL)
01340  M01S01323.xedit   +++|*         BIT 15 = SECOND STRING NEEDED (CAN BE NULL)
01341  M01S01324.xedit   +++|*         BIT 14 = CHECK FOR SPECIAL ... OR --- IN FIRST STRING
01342  M01S01325.xedit   +++|*         BIT 13 = --- OPTION LEGAL
01343  M01S01326.xedit   +++|*         BIT 12 = UNUSED (BUT ONCE WAS- CLEAR COMMANDS IF USED)
01344  M01S01327.xedit   +++|*         BITS 11-5 = UNUSED.
01345  M01S01328.xedit   +++|*         BIT 4 = NO FILE NAME LEGAL.
01346  M01S01329.xedit   +++|*         BIT 3 = SPECIAL FILE NAMES LEGAL.
01347  M01S01330.xedit   +++|*         BITS 2-0 = POST FILE NAME PARAMETER OPTION.
01348  M01S01331.xedit   +++|*
01349  M01S01332.xedit   +++|*         NOTE- ALL STRING PARSES CALL SUBROUTINE *ASF* TO PRESET
01350  M01S01333.xedit   +++|*         THE CELLS NEEDED BY *LOC*.
01351  M01S01334.xedit   +++|
01352  M01S01335.xedit   +++|
01353  M01S01336.xedit   +++| PRM1     PARAM  STRING
01354  M01S01337.xedit   +++|          SA1    COMMAND     OBTAIN DESCRIPTOR
01355  M01S01338.xedit   +++|          BX6    X6-X6       CLEAR CELLS
01356  M01S01339.xedit   +++|          SA6    P3RP        CLEAR STRING POINTERS
01357  M01S01340.xedit   +++|          SA6    A6-B1
01358  M01S01341.xedit   +++|          SA6    A6-B1       P2RP
01359  M01S01342.xedit   +++|          SA6    A6-B1
01360  M01S01343.xedit   +++|          BX7    X1
01361  M01S01344.xedit   +++|          SA6    A6-B1       P1RP
01362  M01S01345.xedit   +++|          SA6    A6-B1
01363  M01S01346.xedit   +++|          SA6    NUMS        CLEAR COUNT FIELD
01364  M01S01347.xedit   +++|          SA6    PRMB        SET POSITIVE LOGIC
01365  M01S01348.xedit   +++|          LX7    59-34       MODIFIER BIT 16 AT SIGN BIT
01366  M01S01349.xedit   +++|          SA0    B0          SET NO DELIMITER MESSAGE NEEDED
01367  M01S01350.xedit   +++|          SB6    X5-1R,
01368  M01S01351.xedit   +++|          NG     X5,PRM9     IF END OF LINE (NO STRING)
01369  M01S01352.xedit   +++|          SA4    PRMA
01370  M01S01353.xedit   +++|          ZR     B6,PRM9     IF NULL PARAMETER (IE. *,,*)
01371  M01S01354.xedit   +++|          SB3    X5          DELIMITER CHARACTER
01372  M01S01355.xedit   +++|          SX6    A5+B1       SAVE POINTER TO FIRST CHARACTER
01373  M01S01356.xedit   +++|          LX4    B3
01374  M01S01357.xedit   +++|          SB5    X6          ADDRESS OF FIRST CHARACTER
01375  M01S01358.xedit   +++|          NG     X4,PRM9     IF CHARACTER IS 0-9 OR *
01376  M01S01359.xedit   +++|          SA6    P1LP
01377  M01S01360.xedit   +++|
01378  M01S01361.xedit   +++|*         PARSE FIRST STRING FIELD.
01379  M01S01362.xedit   +++|
01380  M01S01363.xedit   +++| PRM2     SA5    A5+B1       SEARCH FOR CLOSING DELIMITER
01381  M01S01364.xedit   +++|          NG     X5,PRM3     IF END OF LINE FOUND
01382  M01S01365.xedit   +++|          SB4    X5
01383  M01S01366.xedit   +++|          NE     B3,B4,PRM2  IF NOT DELIMITER
01384  M01S01367.xedit   +++|          SX6    A5          SET LWA+1 FOR FIELD
01385  M01S01368.xedit   +++|          SA5    A5+B1       STEP PAST DELIMITER
01386  M01S01369.xedit   +++|          SA6    A6+B1       CLOSING PARAMETER
01387  M01S01370.xedit   +++|          SB6    X6
01388  M01S01371.xedit   +++|          SA1    COMMAND
01389  M01S01372.xedit   +++|          LX4    B1,X7       BIT 15
01390  M01S01373.xedit   +++|          SX6    A5          POINTER FOR POSSIBLE SECOND FIELD
01391  M01S01374.xedit   +++|          PL     X4,PRM6     IF NOT SUPPOSED TO HAVE 2 STRING
01392  M01S01375.xedit   +++|          SA6    P3LP        SAVE POINTER TO SECOND FIELD
01393  M01S01376.xedit   +++|          EQ     PRM4        PARSE SECOND STRING
01394  M01S01377.xedit   +++|
01395  M01S01378.xedit   +++| PRM3     SX6    A5          SAVE POINTER
01396  M01S01379.xedit   +++|          SA0    B1          SET DELIMITER MESSAGE NECESSARY
01397  M01S01380.xedit   +++|          SA6    A6+B1
01398  M01S01381.xedit   +++|          LX4    B1,X7       SHIFT MODIFIER BIT 15 (2 STRINGS)
01399  M01S01382.xedit   +++|          NG     X4,PRM13    IF 2 STRINGS NEEDED (ARG ERROR)
01400  M01S01383.xedit   +++|          EQ     PRM6        ONE STRING FIELD PRESENT
01401  M01S01384.xedit   +++|
01402  M01S01385.xedit   +++| PRM4     SX6    A5
01403  M01S01386.xedit   +++|          SA0    B1          SET DELIMITER (JUST IN CASE)
01404  M01S01387.xedit   +++|          NG     X5,PRM5     IF END OF LINE
01405  M01S01388.xedit   +++|          SB4    X5
01406  M01S01389.xedit   +++|          SA5    A5+B1
01407  M01S01390.xedit   +++|          NE     B4,B3,PRM4  IF NOT AT DELIMITER
01408  M01S01391.xedit   +++|          SA0    B0          CLEAR DELIMITER MESSAGE REQUIRED
01409  M01S01392.xedit   +++| PRM5     SA6    P3RP
01410  M01S01393.xedit   +++| PRM6     SA1    COMMAND     CHECK FOR SPECIAL FIELDS
01411  M01S01394.xedit   +++|          SA2    P1LP
01412  M01S01395.xedit   +++|          LX1    59-32       MODIFIER BIT 14
01413  M01S01396.xedit   +++|          PL     X1,PRM9     IF SPECIAL FIELDS NOT USED
01414  M01S01397.xedit   +++|          SA3    A2+B1       P1RP
01415  M01S01398.xedit   +++|          SX4    1R.
01416  M01S01399.xedit   +++|          SB2    X2          LEFT MOST CHARACTER
01417  M01S01400.xedit   +++|          LX1    1
01418  M01S01401.xedit   +++|          SB3    X3          RIGHT MOST CHARACTER
01419  M01S01402.xedit   +++|          PL     X1,PRM7     IF *---* FORM NOT ALLOWED
01420  M01S01403.xedit   +++|          SX4    1R-
01421  M01S01404.xedit   +++| PRM7     GE     B2,B3,PRM8  IF ALL POSITIONS TRIED
01422  M01S01405.xedit   +++|          SA1    B2
01423  M01S01406.xedit   +++|          SB2    B2+B1
01424  M01S01407.xedit   +++|          BX1    X1-X4
01425  M01S01408.xedit   +++|          NZ     X1,PRM7     IF NOT CHARACTER
01426  M01S01409.xedit   +++|          SA1    B2
01427  M01S01410.xedit   +++|          SB2    B2+B1
01428  M01S01411.xedit   +++|          BX1    X1-X4
01429  M01S01412.xedit   +++|          NZ     X1,PRM7     IF NOT CHARACTER
01430  M01S01413.xedit   +++|          SA1    B2
01431  M01S01414.xedit   +++|          SB2    B2+B1
01432  M01S01415.xedit   +++|          BX1    X1-X4
01433  M01S01416.xedit   +++|          NZ     X1,PRM7     IF NOT CHARACTER
01434  M01S01417.xedit   +++|          GT     B2,B3,PRM8    IF PAST LAST CHARACTER IN STRING
01435  M01S01418.xedit   +++|          SA1    P1RP        SET UP POINTERS
01436  M01S01419.xedit   +++|          SX7    B2-3
01437  M01S01420.xedit   +++|          SX6    B2
01438  M01S01421.xedit   +++|          SA7    A1          PUT NEW P1RP
01439  M01S01422.xedit   +++|          SA6    A1+B1       PUT P2LP
01440  M01S01423.xedit   +++|          BX7    X1
01441  M01S01424.xedit   +++|          SX6    X4-1R.
01442  M01S01425.xedit   +++|          SA7    A6+B1       PUT P2RP
01443  M01S01426.xedit   +++|          SA6    PRMB        SET ... OR --- FLAG
01444  M01S01427.xedit   +++|          EQ     PRM9        PARSE NUMBER
01445  M01S01428.xedit   +++|
01446  M01S01429.xedit   +++| PRM8     SX3    X4-1R-
01447  M01S01430.xedit   +++|          NZ     X3,PRM9     IF TRIED ... FORM
01448  M01S01431.xedit   +++|          SB2    X2          RESET FIRST CHARACTER
01449  M01S01432.xedit   +++|          SX4    1R.
01450  M01S01433.xedit   +++|          EQ     PRM7        TRY ... FORM
01451  M01S01434.xedit   +++|
01452  M01S01435.xedit   +++|*         SKIP BLANKS AND FIRST COMMA AND EXIT TO OBTAIN ONE NUMBER
01453  M01S01436.xedit   +++|
01454  M01S01437.xedit   +++| PRM9     SX1    A0
01455  M01S01438.xedit   +++|          ZR     X1,PRM10    IF DELIMITER MESSAGE NOT NEEDED
01456  M01S01439.xedit   +++|          ERROR  DEL.
01457  M01S01440.xedit   +++|
01458  M01S01441.xedit   +++| PRM10    RJ     ASF         ANALYZE STRING FIELDS
01459  M01S01442.xedit   +++|          NZ     B2,NER      IF ERROR ENCOUNTERED
01460  M01S01443.xedit   +++| PRM11    NG     X5,PRM.+NUMBER1  IF END OF LINE REACHED
01461  M01S01444.xedit   +++|          SB3    X5-1R
01462  M01S01445.xedit   +++|          ZR     B3,PRM12    IF BLANK
01463  M01S01446.xedit   +++|          NE     B3,B1,PRM.+NUMBER1  IF NOT COMMA
01464  M01S01447.xedit   +++|          NZ     B2,PRM.+NUMBER1  IF SECOND COMMA
01465  M01S01448.xedit   +++|          SB2    1           SET COMMA ENCOUNTERED
01466  M01S01449.xedit   +++| PRM12    SA5    A5+B1       NEXT CHARACTER
01467  M01S01450.xedit   +++|          EQ     PRM11       CHECK NEXT CHARACTER
01468  M01S01451.xedit   +++|
01469  M01S01452.xedit   +++| PRM13    SB2    ARG.        SET ARGUMENT ERROR
01470  M01S01453.xedit   +++|          EQ     NER         PROCESS ERROR
01471  M01S01454.xedit   +++|
01472  M01S01455.xedit   +++|**        NEXT PARAMETER.
01473  M01S01456.xedit   +++|*
01474  M01S01457.xedit   +++|*         THIS ROUTINE CHECKS FOR A MINUS SIGN. IF MINUS, IT SETS
01475  M01S01458.xedit   +++|*         *NUMS*+1 EQUAL TO -0, ELSE IT SETS *NUMS*+1 = +0, AND THEN
01476  M01S01459.xedit   +++|*         EXITS TO OBTAIN ONE NUMBER.
01477  M01S01460.xedit   +++|
01478  M01S01461.xedit   +++|
01479  M01S01462.xedit   +++| PRM14    PARAM  NEXT
01480  M01S01463.xedit   +++|          MX6    0
01481  M01S01464.xedit   +++|          SX4    X5-1R-
01482  M01S01465.xedit   +++|          SB5    B1          SET ONE NUMBER PARAMETER
01483  M01S01466.xedit   +++|          NZ     X4,PRM15    IF NOT - SIGN
01484  M01S01467.xedit   +++|          SA5    A5+B1       STEP OVER - SIGN
01485  M01S01468.xedit   +++|          MX6    60          SET -0
01486  M01S01469.xedit   +++| PRM15    SA6    NUMS+1
01487  M01S01470.xedit   +++|          EQ     PRM17       OBTAIN NUMBER
01488  M01S01471.xedit   +++|
01489  M01S01472.xedit   +++|**        NUMERIC PARAMETERS.
01490  M01S01473.xedit   +++|*
01491  M01S01474.xedit   +++|*         BITS 17-35 CONTAIN NUMBER OF FIELDS TO PARSE.
01492  M01S01475.xedit   +++|
01493  M01S01476.xedit   +++|
01494  M01S01477.xedit   +++| PRM16    PARAM  NUMBER
01495  M01S01478.xedit   +++|          SA1    COMMAND     GET DESCRIPTOR WORD
01496  M01S01479.xedit   +++|          AX1    18
01497  M01S01480.xedit   +++|          SB5    X1          PARAMETER COUNT
01498  M01S01481.xedit   +++|
01499  M01S01482.xedit   +++|*         ENTRY POINT  (B5) = NUMBER OF FIELDS.
01500  M01S01483.xedit   +++|
01501  M01S01484.xedit   +++| PRM17    SB6    1           SET COUNTER
01502  M01S01485.xedit   +++| PRM18    RJ     VAL
01503  M01S01486.xedit   +++|          SA6    NUMS-1+B6
01504  M01S01487.xedit   +++|          SB6    B6+1
01505  M01S01488.xedit   +++|          LE     B6,B5,PRM18 IF MORE TO GO
01506  M01S01489.xedit   +++|          EQ     PST7        END OF PARSE
01507  M01S01490.xedit   +++|
01508  M01S01491.xedit   +++|**        NUMBER1.
01509  M01S01492.xedit   +++|*
01510  M01S01493.xedit   +++|*         CRACKS OFF 1 NUMBER. ALLOWS MODIFIER FIELD TO BE USED FOR
01511  M01S01494.xedit   +++|*         OTHER FUNCTIONS.
01512  M01S01495.xedit   +++|
01513  M01S01496.xedit   +++|
01514  M01S01497.xedit   +++| PRM19    PARAM  NUMBER1
01515  M01S01498.xedit   +++|          RJ     VAL         PARSE NUMBER
01516  M01S01499.xedit   +++|          SA6    NUMS
01517  M01S01500.xedit   +++|          SA1    INPMODE
01518  M01S01501.xedit   +++|          PL     X1,PST7     IF NOT IN INPUT MODE
01519  M01S01502.xedit   +++|          SA2    COMMAND
01520  M01S01503.xedit   +++|          MX7    60          PREPARE -0
01521  M01S01504.xedit   +++|          LX2    59-/OPTS/F0
01522  M01S01505.xedit   +++|          PL     X2,PST7     IF NOT TO FORCE 0
Line S01506 Modification History
M01 (Added by) xedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01523  M02S01506.v23l617 ---|          SB2    ARG.*100B+1 SET PARAMETER ILLEGAL IN INPUT MODE
01524  M01S00011.v23l617 +++|          SB2    ARG.*100B+1 SET PARAMETER NOT ALLOWED IN INPUT MODE
01525  M01S01507.xedit   +++|          NZ     X6,NER      IF USER SPECIFIED A PARAMETER
01526  M01S01508.xedit   +++|          SA7    A6          FORCE -0 PARAMETER
01527  M01S01509.xedit   +++|          EQ     PST7        EXIT TO POST COMMAND PROCESSOR
01528  M01S01510.xedit   +++|
01529  M01S01511.xedit   +++|          EQ     PRM17       NOTHING
01530  M01S01512.xedit   +++|
01531  M01S01513.xedit   +++|**        NUMBER2.
01532  M01S01514.xedit   +++|*
01533  M01S01515.xedit   +++|*         CRACKS OFF 2 NUMBERS. ALLOWS MODIFIER FIELD TO BE USED FOR
01534  M01S01516.xedit   +++|*         OTHER FUNCTIONS.
01535  M01S01517.xedit   +++|
01536  M01S01518.xedit   +++|
01537  M01S01519.xedit   +++| PRM20    PARAM  NUMBER2
01538  M01S01520.xedit   +++|          SB5    B1+B1       PARAMETER COUNT
01539  M01S01521.xedit   +++|          EQ     PRM17       PARSE NUMBERS
01540  M01S01522.xedit   +++|
01541  M01S01523.xedit   +++|**        FILE PARAMETER.
01542  M01S01524.xedit   +++|*
01543  M01S01525.xedit   +++|*         PARSES ONE FILE NAME (WITH OPTIONS).
01544  M01S01526.xedit   +++|*         EXITS TO SPECIFIED OPTIONAL PARAMETERS.
01545  M01S01527.xedit   +++|
01546  M01S01528.xedit   +++|
01547  M01S01529.xedit   +++| PRM21    PARAM  ONEFILE
01548  M01S01530.xedit   +++|          BX0    X7          COMMAND DESCRIPTOR
01549  M01S01531.xedit   +++|          LX0    59-21       SPECIAL NAMES OK BIT
01550  M01S01532.xedit   +++|          RJ     GFN         PARSE FILE NAME
01551  M01S01533.xedit   +++|          SA6    IFN
01552  M01S01534.xedit   +++|          ZR     X1,PRM23    IF NAME LEGAL
01553  M01S01535.xedit   +++|          SB2    B6          KLUDGE FOR NOW
01554  M01S01536.xedit   +++|          NZ     X6,PRM22    IF NAME IS SPECIAL
01555  M01S01537.xedit   +++|          SX7    B6-BFN.*100B-2  SEE IF NO FILE NAME
01556  M01S01538.xedit   +++|          LX0    -1          *NFN* BIT
01557  M01S01539.xedit   +++|          NZ     X7,NER      IF NOT *NO FILE NAME*
01558  M01S01540.xedit   +++| PRM22    PL     X0,NER      IF NOT VALID
01559  M01S01541.xedit   +++| PRM23    SA1    COMMAND
01560  M01S01542.xedit   +++|          MX2    -3          OBTAIN POST-FILE OPTIONS
01561  M01S01543.xedit   +++|          AX1    18
01562  M01S01544.xedit   +++|          BX2    -X2*X1
01563  M01S01545.xedit   +++|          LX2    -1
01564  M01S01546.xedit   +++|          SB3    X2+
01565  M01S01547.xedit   +++|          JP     PRM24+B3    JUMP TO POST PROCESSING OPTION
01566  M01S01548.xedit   +++|
01567  M01S01549.xedit   +++| PRM24    PL     X2,PST7     IF NOTHING TO FOLLOW
01568  M01S01550.xedit   +++|          EQ     STRING+PRM. PROCESS STRING FIELD
01569  M01S01551.xedit   +++|
01570  M01S01552.xedit   +++|          EQ     PFMTYPE+PRM.  PROCESS PFM SPECIFICATIONS
01571  M01S01553.xedit   +++|
01572  M01S01554.xedit   +++|**        PFMTYPE.
01573  M01S01555.xedit   +++|*
01574  M01S01556.xedit   +++|*         PFMTYPE CRACKS OFF THE LEGAL PFM CODES FOR
01575  M01S01557.xedit   +++|*         USE IN THE *END*, *FILE*, AND *QUIT* COMMANDS.
01576  M01S01558.xedit   +++|*
01577  M01S01559.xedit   +++|*         THE DATA IS PLACED IN NUMS, WITH THE FOLLOWING
01578  M01S01560.xedit   +++|*         CONVENTION-
01579  M01S01561.xedit   +++|*
01580  M01S01562.xedit   +++|*         BIT 0 = LOCAL OR L USED.
01581  M01S01563.xedit   +++|*         BIT 1 = REPLACE OR R USED.
01582  M01S01564.xedit   +++|*         BIT 2 = DIRECT OR D USED.
01583  M01S01565.xedit   +++|*         BIT 3 = COPY OR C USED.
01584  M01S01566.xedit   +++|*
01585  M01S01567.xedit   +++|*         ANY COMBINATION OF ABOVE ARE LEGAL PROVIDING THAT
01586  M01S01568.xedit   +++|*         ONLY ONE LETTER MNENOMICS ARE USED. (HOWEVER, NOT
01587  M01S01569.xedit   +++|*         ALL COMBINATIONS MADE SENSE).
01588  M01S01570.xedit   +++|
01589  M01S01571.xedit   +++|
01590  M01S01572.xedit   +++| PRM25    PARAM  PFMTYPE
01591  M01S01573.xedit   +++|          BX6    X6-X6       CLEAR ASSEMBLY
01592  M01S01574.xedit   +++|          SB3    PRMC        GET BASE OF MNEMONICS
01593  M01S01575.xedit   +++|          SX4    B1
01594  M01S01576.xedit   +++| PRM26    SB2    PRMCL
01595  M01S01577.xedit   +++|          SX0    X5-7600B
01596  M01S01578.xedit   +++|          NG     X0,PRM27    IF NOT ASCII CHARACTER
01597  M01S01579.xedit   +++|          SX5    X5-7600B
01598  M01S01580.xedit   +++| PRM27    SB2    B2-B1
01599  M01S01581.xedit   +++|          LT     B2,PRM28    IF END OF LIST (END OF PARSE)
01600  M01S01582.xedit   +++|          SA1    B3+B2
01601  M01S01583.xedit   +++|          BX1    X1-X5
01602  M01S01584.xedit   +++|          NZ     X1,PRM27    IF NOT THIS ENTRY
01603  M01S01585.xedit   +++|          LX0    B2,X4       SHIFT CODE
01604  M01S01586.xedit   +++|          SA5    A5+B1       NEXT CHARACTER
01605  M01S01587.xedit   +++|          BX6    X6+X0
01606  M01S01588.xedit   +++|          PL     X5,PRM26    IF MORE TO GO
01607  M01S01589.xedit   +++| PRM28    SA6    NUMS        SET CODES
01608  M01S01590.xedit   +++|          NG     X5,PST      IF END OF LINE
01609  M01S01591.xedit   +++| PRM28.1  SA5    A5+1
01610  M01S01592.xedit   +++|          PL     X5,PRM28.1  IF NOT END OF COMMAND
01611  M01S01593.xedit   +++|          EQ     PST         EXIT
01612  M01S01594.xedit   +++|
01613  M01S01595.xedit   +++|**        TOGGLE/SET PARAMETERS.
01614  M01S01596.xedit   +++|*
01615  M01S01597.xedit   +++|*         VALID CHARACTERS ARE +,-  OR NULL.
01616  M01S01598.xedit   +++|*         + = NUMS IS EQUAL TO +1.
01617  M01S01599.xedit   +++|*         - = NUMS IS EQUAL TO -1.
01618  M01S01600.xedit   +++|*         NULL =      EQUAL TO +0.
01619  M01S01601.xedit   +++|
01620  M01S01602.xedit   +++| PRM29    PARAM  TOGGLE
01621  M01S01603.xedit   +++|          NG     X5,PRM30    IF END OF LINE
01622  M01S01604.xedit   +++|          SB3    X5-1R+
01623  M01S01605.xedit   +++|          ZR     B3,PRM32    IF + SIGN
01624  M01S01606.xedit   +++|          EQ     B3,B1,PRM33 IF - SIGN
01625  M01S01607.xedit   +++|
01626  M01S01608.xedit   +++| PRM30    SX6    0
01627  M01S01609.xedit   +++| PRM31    SA6    NUMS
01628  M01S01610.xedit   +++|          EQ     PST7        EXIT
01629  M01S01611.xedit   +++|
01630  M01S01612.xedit   +++| PRM32    SA5    A5+B1       + SIGN PROCESSING
01631  M01S01613.xedit   +++|          SX6    B1
01632  M01S01614.xedit   +++|          EQ     PRM31       SET UP EXIT
01633  M01S01615.xedit   +++|
01634  M01S01616.xedit   +++| PRM33    SA5    A5+B1       - SIGN PROCESSING
01635  M01S01617.xedit   +++|          SX6    -B1
01636  M01S01618.xedit   +++|          EQ     PRM31       SET UP EXIT
01637  M01S01619.xedit   +++|
01638  M01S01620.xedit   +++|**        CHARACTER PARAMETERS.
01639  M01S01621.xedit   +++|*
01640  M01S01622.xedit   +++|*         ROUTINE ALLOWS ONE CHARACTER PARAMETER.
01641  M01S01623.xedit   +++|*         IF BIT 18 IS SET IN DESCRIPTOR WORD, THE CHARACTER CANNOT
01642  M01S01624.xedit   +++|*         BE AN ALPHABETIC.
01643  M01S01625.xedit   +++|*
01644  M01S01626.xedit   +++|*         THE CHARACTER IS PLACED IN *NUMS*.
01645  M01S01627.xedit   +++|*
01646  M01S01628.xedit   +++|*         NOTE- LOWER CASE LETTERS (IF LEGAL) ARE NOT CONVERTED TO
01647  M01S01629.xedit   +++|*               UPPER CASE. XEDIT VIEWS UPPER/LOWER AS DIFFERENT.
01648  M01S01630.xedit   +++|*
01649  M01S01631.xedit   +++|*         IF THERE IS NO PARAMETER, *NUMS* IS SET TO -1.
01650  M01S01632.xedit   +++|
01651  M01S01633.xedit   +++|
01652  M01S01634.xedit   +++| PRM34    PARAM  CHAR
01653  M01S01635.xedit   +++|          MX6    -1          SET NO CHARACTER
01654  M01S01636.xedit   +++|          NG     X5,PRM35    IF NO CHARACTER
01655  M01S01637.xedit   +++|          BX6    X5
01656  M01S01638.xedit   +++|          LX7    59-18
01657  M01S01639.xedit   +++|          SA5    A5+B1       SET TO NEXT CHARACTER
Line S01640 Modification History
M01 (Added by) xedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01658  M02S01640.v23l617 ---|          SB2    ILL.        ILLEGAL PARAMETER (PRESET)
01659  M01S00012.v23l617 +++|          SB2    ILL.        INCORRECT PARAMETER (PRESET)
01660  M01S01641.xedit   +++|          PL     X7,PRM35    IF ANY CHARACTER IS LEGAL
01661  M01S01642.xedit   +++|          ZR     X6,PRM35    IF COLON
01662  M01S01643.xedit   +++|          SX4    X6-1RZ-1
01663  M01S01644.xedit   +++|          NG     X4,NER      IF A-Z (UPPER CASE)
01664  M01S01645.xedit   +++|          SX4    X6-7601B
01665  M01S01646.xedit   +++|          NG     X4,PRM35    IF NOT LOWER CASE (.LT. 7601B)
01666  M01S01647.xedit   +++|          SX4    X4-1RZ
01667  M01S01648.xedit   +++|          NG     X4,NER      IF LOWER CASE
01668  M01S01649.xedit   +++| PRM35    SA6    NUMS        SET CHARACTER
01669  M01S01650.xedit   +++|          EQ     PRM40       CHECK FOR NO TRAILING CHARACTERS
01670  M01S01651.xedit   +++|
01671  M01S01652.xedit   +++|**        NULL PARAMETER.
01672  M01S01653.xedit   +++|*
01673  M01S01654.xedit   +++|*         ROUTINE WILL HANDLE OWN PARAMETER CRACKING, HOWEVER, THIS
01674  M01S01655.xedit   +++|*         ROUTINE WILL GIVE THE FIRST CHARACTER ADDRESS AND LAST
01675  M01S01656.xedit   +++|*         CHARACTER ADDRESS (+1) IN *NUMS* AND *NUMS+1*.
01676  M01S01657.xedit   +++|*         IF *NUMS* IS ZERO, THEN THERE IS NO PARAMETER.
01677  M01S01658.xedit   +++|
01678  M01S01659.xedit   +++|
01679  M01S01660.xedit   +++| PRM36    PARAM  NULL
01680  M01S01661.xedit   +++|          SX6    A5          GET FWA OF PARAMETER
01681  M01S01662.xedit   +++|          SA6    NUMS
01682  M01S01663.xedit   +++|          NG     X5,PRM37    IF NO PARAMETER
01683  M01S01664.xedit   +++| PRM36.1  SA5    A5+B1
01684  M01S01665.xedit   +++|          PL     X5,PRM36.1  IF NOT AT END OF PARAMETER
01685  M01S01666.xedit   +++|          SX6    A5
01686  M01S01667.xedit   +++|          SA6    A6+B1       SAVE LWA+1
01687  M01S01668.xedit   +++|          EQ     PRM.+NONE   PROCESS NO PARAMETERS
01688  M01S01669.xedit   +++|
01689  M01S01670.xedit   +++| PRM37    MX6    0
01690  M01S01671.xedit   +++|          SA6    A6          REPLACE POINTER
01691  M01S01672.xedit   +++|          EQ     PRM.+NONE   PROCESS NO PARAMETERS
01692  M01S01673.xedit   +++|
01693  M01S01674.xedit   +++|**        LOAD OVERLAY AND RE-GET PARAMETER CRACKING SPECIFICATIONS.
01694  M01S01675.xedit   +++|*         OVERLAY TO LOAD IS IN THE ROUTINE ADDRESS FIELD.
01695  M01S01676.xedit   +++|*         ENTRY  (X4) = LOWER 18 BITS CONTAINS OVERLAY NUMBER TO LOAD.
01696  M01S01677.xedit   +++|
01697  M01S01678.xedit   +++|
01698  M01S01679.xedit   +++| PRM38    PARAM  OVL
01699  M01S01680.xedit   +++|          SA2    LOVE        LAST OVERLAY LOADED
01700  M01S01681.xedit   +++|          SX7    X4+1R0
01701  M01S01682.xedit   +++|          BX3    X7-X2
01702  M01S01683.xedit   +++|          ZR     X3,PRM39    IF OVERLAY ALREADY LOADED
01703  M01S01684.xedit   +++|          SX0    X4
01704  M01S01685.xedit   +++|          SA7    A2
01705  M01S01686.xedit   +++| .D       IFNE   DEBUG+FILEOV,0  IF DEBUG MODE OR OVERLAYS FROM SYSTEM
01706  M01S01687.xedit   +++|          SA3    LOVA        FORM OVERLAY NAME
01707  M01S01688.xedit   +++|          BX6    X3+X7
01708  M01S01689.xedit   +++|          LX6    24          LEFT JUSTIFY
01709  M01S01690.xedit   +++|          SA6    LOVC
01710  M01S01691.xedit   +++| .D       ENDIF
01711  M01S01692.xedit   +++| .E       IFEQ   DEBUG,1     IF DEBUG ON
01712  M01S01693.xedit   +++|          WRITEC OUTPUT,LOVC-1
01713  M01S01694.xedit   +++| .E       ENDIF
01714  M01S01695.xedit   +++|          MEMORY CM,LOVB+X0,R  OBTAIN NECESSARY FIELD LENGTH
01715  M01S01696.xedit   +++| .G       IFEQ   FILEOV,0    IF LOAD FROM LOCAL FILE
01716  M01S01697.xedit   +++|          SA1    ACTR        FILE NAME CONTAINING OVERLAY
01717  M01S01698.xedit   +++|          MX2    42
01718  M01S01699.xedit   +++|          BX1    X1*X2
01719  M01S01700.xedit   +++|          LX0    6
01720  M01S01701.xedit   +++|          OVERLAY X1,X0
01721  M01S01702.xedit   +++| .G       ELSE               LOAD FROM SYSTEM
01722  M01S01703.xedit   +++|          OVERLAY LOVC,X0,S
01723  M01S01704.xedit   +++| .G       ENDIF
01724  M01S01705.xedit   +++|          SB7    X1          GET ENTRY POINT (PRESET OVERLAY)
01725  M01S01706.xedit   +++|          JP     B7          ENTER OVERLAY
01726  M01S01707.xedit   +++|
01727  M01S01708.xedit   +++| PRM39    SA1    COMMAND     GET DESCRIPTOR WORD
01728  M01S01709.xedit   +++|          AX1    18
01729  M01S01710.xedit   +++|          SA4    X1          OBTAIN COMMAND DESCRIPTOR WORD ADDR-1
01730  M01S01711.xedit   +++|          EQ     NCM15       PROCESS COMMAND
01731  M01S01712.xedit   +++|
01732  M01S01713.xedit   +++|**        NO PARAMETERS (NONE).
01733  M01S01714.xedit   +++|*
01734  M01S01715.xedit   +++|*         THIS ROUTINE ASSURES THAT THE CHARACTER POINTER IS POSITIONED
01735  M01S01716.xedit   +++|*         AT AN END OF LINE (PSEUDO OR REAL).
01736  M01S01717.xedit   +++|
01737  M01S01718.xedit   +++|
01738  M01S01719.xedit   +++| PRM40    PARAM  NONE
01739  M01S01720.xedit   +++|*         GO TO *PST7*.
01740  M01S01721.xedit   +++| PST      SPACE  4,20
01741  M01S01722.xedit   +++|**        PST - POST COMMAND PROCESSOR.
01742  M01S01723.xedit   +++|*
01743  M01S01724.xedit   +++|*         ENTRY  (A1) = C.STR-1.
01744  M01S01725.xedit   +++|*                (A5) = ADDRESS OF CURRENT CHARACTER.
01745  M01S01726.xedit   +++|*                (X5) = CURRENT CHARACTER.
01746  M01S01727.xedit   +++|*                (PREFIX) = PREFIX OPTIONS.
01747  M01S01728.xedit   +++|*                (COMMAND) = COMMAND DESCRIPTOR.
01748  M01S01729.xedit   +++|*
01749  M01S01730.xedit   +++|*         EXIT   TO PROCESS COMMAND, OR TO ERROR ROUTINE.
01750  M01S01731.xedit   +++|*
01751  M01S01732.xedit   +++|*         USES   A - 1, 2, 3, 5, 6.
01752  M01S01733.xedit   +++|*                X - 1, 2, 3, 4, 5, 6.
01753  M01S01734.xedit   +++|*                B - 2, 4, 6, 7.
01754  M01S01735.xedit   +++|*
01755  M01S01736.xedit   +++|*         CALLS  ETL, GLN, MPR, RTDA, VRY.
01756  M01S01737.xedit   +++|*
01757  M01S01738.xedit   +++|*         MACROS ERROR.
01758  M01S01739.xedit   +++|
01759  M01S01740.xedit   +++|
01760  M01S01741.xedit   +++| PST7     NG     X5,PST      IF END OF LINE
01761  M01S01742.xedit   +++|          SB4    X5-1R
01762  M01S01743.xedit   +++|          SA5    A5+1
01763  M01S01744.xedit   +++|          ZR     B4,PST7     IF BLANK
Line S01745 Modification History
M01 (Added by) xedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01764  M02S01745.v23l617 ---|          SB2    ILL.        ILLEGAL PARAMETER
01765  M01S00013.v23l617 +++|          SB2    ILL.        INCORRECT PARAMETER
01766  M01S01746.xedit   +++|          EQ     NER         PROCESS ERROR, EXIT.
01767  M01S01747.xedit   +++|
01768  M01S01748.xedit   +++| PST      SA3    C.STR-1     PACK UP LAST COMMAND (PUT INTO LASTCMD)
01769  M01S01749.xedit   +++|          UX3    B6,X3
01770  M01S01750.xedit   +++|          SB6    A3+B6       FWA OF COMMAND
01771  M01S01751.xedit   +++|          SB7    P.LINE      SET LAST PARAMETER
01772  M01S01752.xedit   +++|          RJ     RTOA        PACK LAST COMMAND
01773  M01S01753.xedit   +++|
01774  M01S01754.xedit   +++|*         ENTRY FROM SOME SPECIAL COMMAND PROCESSORS.
01775  M01S01755.xedit   +++|
01776  M01S01756.xedit   +++| PST1     SB6    B0          PRESET TO *READ REQUIRED*
01777  M01S01757.xedit   +++|          LX4    B1,X5       NEG. IF TRUE END OF LINE
01778  M01S01758.xedit   +++|          NG     X4,PST2     IF ABOVE
01779  M01S01759.xedit   +++|          SB6    A5+2-C.STR  SET CHARACTER POINTER
01780  M01S01760.xedit   +++|          SX6    X5          REMOVE SPECIAL END OF LINE
01781  M01S01761.xedit   +++|          SA6    A5
01782  M01S01762.xedit   +++| PST2     SA3    C.STR-1     RESET FOR ENTRY FROM *PST1*
01783  M01S01763.xedit   +++|          SA1    COMMAND
01784  M01S01764.xedit   +++|          PX6    B6,X3
01785  M01S01765.xedit   +++|          SB7    X1          ROUTINE ADDRESS
01786  M01S01766.xedit   +++|          SA6    C.STR-1     SAVE POINTER/DELIMITER
01787  M01S01767.xedit   +++|          PL     X3,PST3     IF NOT TO ECHO LINE
01788  M01S01768.xedit   +++|          SA1    P.LINE
01789  M01S01769.xedit   +++|          SA3    ETLB        SET COMMAND LINE HEADER
01790  M01S01770.xedit   +++|          RJ     ETL
01791  M01S01771.xedit   +++| PST3     SA1    SCOUNT
01792  M01S01772.xedit   +++|          ZR     X1,PST4     IF SLASH COUNT ZERO
01793  M01S01773.xedit   +++|          RJ     MPR         ADVANCE POINTER
01794  M01S01774.xedit   +++| PST4     SA1    NXTLINE
01795  M01S01775.xedit   +++|          SA2    COMMAND
01796  M01S01776.xedit   +++|          ZR     X1,PST5     IF NO ADVANCE TO LINE NUMBER
01797  M01S01777.xedit   +++|          SA3    INPMODE
01798  M01S01778.xedit   +++|          NG     X3,NCM20    IF POINTER MOVEMENT NOT ALLOWED, EXIT
01799  M01S01779.xedit   +++|          SA3    IWHERE
01800  M01S01780.xedit   +++|          NG     X3,NCM19    IF IN CREATION MODE, EXIT
01801  M01S01781.xedit   +++|          RJ     GLN
01802  M01S01782.xedit   +++|          NZ     X6,PST6     IF LINE NUMBER NOT FOUND
01803  M01S01783.xedit   +++|          SA2    COMMAND
01804  M01S01784.xedit   +++| PST5     SB7    X2          (X2) = COMMAND DESCRIPTOR WORD
01805  M01S01785.xedit   +++|          BX1    X2
01806  M01S01786.xedit   +++|          JP     B7          PROCESS COMMAND, EXIT
01807  M01S01787.xedit   +++|
01808  M01S01788.xedit   +++|*         PROCESS LINE NUMBER NOT FOUND.
01809  M01S01789.xedit   +++|
01810  M01S01790.xedit   +++| PST6     ERROR  LNNF.       ISSUE MESSAGE
01811  M01S01791.xedit   +++|          RJ     VRY
01812  M01S01792.xedit   +++|          EQ     CER1        RETURN TO ERROR CLEANUP
01813  M01S01793.xedit   +++|
01814  M01S01794.xedit   +++| NER      SPACE  4,15
01815  M01S01795.xedit   +++|**        NER - COMMAND PARSER ERROR PROCESSOR.
01816  M01S01796.xedit   +++|*
01817  M01S01797.xedit   +++|*         ENTRY  (B2) = ORDINAL OF MESSAGE TO PRINT.
01818  M01S01798.xedit   +++|*
01819  M01S01799.xedit   +++|*         EXIT   (B2) = ORDINAL OF MESSAGE PRINTED.
01820  M01S01800.xedit   +++|*
01821  M01S01801.xedit   +++|*         USES   A - 0, 5, 6, 7.
01822  M01S01802.xedit   +++|*                X - 5, 6, 7.
01823  M01S01803.xedit   +++|*                B - NONE.
01824  M01S01804.xedit   +++|*
01825  M01S01805.xedit   +++|*         CALLS  PST.
01826  M01S01806.xedit   +++|
01827  M01S01807.xedit   +++|
01828  M01S01808.xedit   +++| NER      SX6    NER2        RE-ENTRY ADDRESS
01829  M01S01809.xedit   +++|          NG     X5,NER1     IF AT END OF LINE
01830  M01S01810.xedit   +++| NER0     SA5    A5+1
01831  M01S01811.xedit   +++|          PL     X5,NER0     IF NOT END OF LINE
01832  M01S01812.xedit   +++| NER1     MX7    0           CLEAR NXTLINE FLAG
01833  M01S01813.xedit   +++|          SA6    COMMAND     SAVE RE-ENTRY
01834  M01S01814.xedit   +++|          SA0    B2          SAVE ERROR MESSAGE
01835  M01S01815.xedit   +++|          SA7    NXTLINE
01836  M01S01816.xedit   +++|          EQ     PST         FOR PARTIAL PROCESSING, RETURN TO *NER1*
01837  M01S01817.xedit   +++|
01838  M01S01818.xedit   +++| NER2     SB2    A0          RE-SET ERROR MESSAGE
01839  M01S01819.xedit   +++|          EQ     CER         EXIT
01840  M01S01820.xedit   +++|
01841  M01S01821.xedit   +++|          TITLE  PREFIX CHARACTER ROUTINES.
01842  M01S01822.xedit   +++|**        PREFIX CHARACTERS.
01843  M01S01823.xedit   +++|*
01844  M01S01824.xedit   +++|*         THE FOLLOWING ROUTINES ARE CALLED TO PROCESS
01845  M01S01825.xedit   +++|*         COMMAND PREFIX CHARACTERS.
01846  M01S01826.xedit   +++| X        SPACE  4,10
01847  M01S01827.xedit   +++|**        X  - TOGGLE VERIFICATION.
01848  M01S01828.xedit   +++|*         x - ALTERNATE FORM.
01849  M01S01829.xedit   +++|*
01850  M01S01830.xedit   +++|*         ENTRY  NONE.
01851  M01S01831.xedit   +++|*
01852  M01S01832.xedit   +++|*         EXIT   TO *NCM*.
01853  M01S01833.xedit   +++|*
01854  M01S01834.xedit   +++|*         USES   A - 4, 6.
01855  M01S01835.xedit   +++|*                B - 4, 6.
01856  M01S01836.xedit   +++|
01857  M01S01837.xedit   +++|
01858  M01S01838.xedit   +++|          PREFIX X
01859  M01S01839.xedit   +++|          SA4    XVERIFY     TOGGLE MODE
01860  M01S01840.xedit   +++|          BX6    -X4
01861  M01S01841.xedit   +++|          SA6    A4-B1
01862  M01S01842.xedit   +++|          EQ     NCM2        EXIT
01863  M01S01843.xedit   +++| PLUS     SPACE  4,10
01864  M01S01844.xedit   +++|**        + - GET DATA INPUT FROM NEW INPUT LINES.
01865  M01S01845.xedit   +++|*
01866  M01S01846.xedit   +++|*         ENTRY  NONE.
01867  M01S01847.xedit   +++|*
01868  M01S01848.xedit   +++|*         EXIT   TO *NCM*.
01869  M01S01849.xedit   +++|*
01870  M01S01850.xedit   +++|*         USES   A - 1, 7.
01871  M01S01851.xedit   +++|*                X - 1, 7.
01872  M01S01852.xedit   +++|
01873  M01S01853.xedit   +++|
01874  M01S01854.xedit   +++|          PREFIX +
01875  M01S01855.xedit   +++|          SA1    PREFIX
01876  M01S01856.xedit   +++|          SX7    1BS"PLUS"
01877  M01S01857.xedit   +++|          BX1    X1+X7
01878  M01S01858.xedit   +++|          SA7    A1
01879  M01S01859.xedit   +++|          EQ     NCM2        EXIT
01880  M01S01860.xedit   +++| SLASH    SPACE  4,15
01881  M01S01861.xedit   +++|**        / - SKIP TO A NEW LINE.
01882  M01S01862.xedit   +++|*         ENTRY  NONE.
01883  M01S01863.xedit   +++|*
01884  M01S01864.xedit   +++|*         EXIT   (SCOUNT) = (SCOUNT) + 1.
01885  M01S01865.xedit   +++|*                TO *NCM2* IF NO ERRORS.
01886  M01S01866.xedit   +++|*                TO *NCM19* OR *NER* IF ERRORS.
01887  M01S01867.xedit   +++|*
01888  M01S01868.xedit   +++|*         USES   A - 1, 7.
01889  M01S01869.xedit   +++|*                X - 1, 7.
01890  M01S01870.xedit   +++|*                B - 2.
01891  M01S01871.xedit   +++|*         NOTES  SLASH PREFIX PROCESSED IN *PST*.
01892  M01S01872.xedit   +++|*
01893  M01S01873.xedit   +++|
01894  M01S01874.xedit   +++|
01895  M01S01875.xedit   +++|          PREFIX /
01896  M01S01876.xedit   +++|          SB2    ARG.*100B+1
01897  M01S01877.xedit   +++|          SA1    INPMODE
01898  M01S01878.xedit   +++|          NG     X1,NER      IF IN INPUT MODE (POINTER MOTION ILLEGAL)
01899  M01S01879.xedit   +++|          SA1    IWHERE
01900  M01S01880.xedit   +++|          NG     X1,NCM19    IF IN CREATION MODE
01901  M01S01881.xedit   +++|          SA1    SCOUNT
01902  M01S01882.xedit   +++|          SX7    X1+B1       INCREMENT SLASH COUNT
01903  M01S01883.xedit   +++|          SA7    A1
01904  M01S01884.xedit   +++|          EQ     NCM2        EXIT
01905  M01S01885.xedit   +++| UPARROW  SPACE  4,15
01906  M01S01886.xedit   +++|**         UP ARROW - GO TO TOP OF FILE BEFORE PROCESSING.
01907  M01S01887.xedit   +++|*
01908  M01S01888.xedit   +++|*         ENTRY  NONE.
01909  M01S01889.xedit   +++|*
01910  M01S01890.xedit   +++|*         EXIT   (SCOUNT) = 0.
01911  M01S01891.xedit   +++|*                TO *NCM2* IF NO ERRORS.
01912  M01S01892.xedit   +++|*                TO *NCM19* OR *NER* IF ERRORS.
01913  M01S01893.xedit   +++|*
01914  M01S01894.xedit   +++|*         USES   A - 1, 7.
01915  M01S01895.xedit   +++|*                X - 1, 7.
01916  M01S01896.xedit   +++|*                B - 2.
01917  M01S01897.xedit   +++|
01918  M01S01898.xedit   +++|
01919  M01S01899.xedit   +++|          PREFIX UA.
01920  M01S01900.xedit   +++|          SB2    ARG.*100B+1
01921  M01S01901.xedit   +++|          SA1    INPMODE
01922  M01S01902.xedit   +++|          NG     X1,NER      IF IN INPUT MODE (POINTER MOTION ILLEGAL)
01923  M01S01903.xedit   +++|          SA1    IWHERE
01924  M01S01904.xedit   +++|          NG     X1,NCM19    IF IN CREATION MODE
01925  M01S01905.xedit   +++|          BX7    X7-X7
01926  M01S01906.xedit   +++|          SA7    SCOUNT      ZERO SLASH PREFIX COUNT
01927  M01S01907.xedit   +++|          RJ     TOP
01928  M01S01908.xedit   +++|          EQ     NCM2        EXIT
01929  M01S01909.xedit   +++| PREFIXT  SPACE  4,10
01930  M01S01910.xedit   +++| PREFIXT  BSS    0
01931  M01S01911.xedit   +++| PREFIX   HERE               ASSEMBLE PREFIX TABLE
01932  M01S01912.xedit   +++| PREFIXU  DATA   0           END MARKER
01933  M01S01913.xedit   +++|          PURGMAC  PREFIX    VOID USE OF THIS MACRO
01934  M01S01914.xedit   +++|          TITLE  SPECIAL COMMAND FORMS.
01935  M01S01915.xedit   +++|**        SPECIAL COMMANDS-
01936  M01S01916.xedit   +++|*
01937  M01S01917.xedit   +++|*         THE FOLLOWING COMMANDS PROCESS SPECIAL COMMANDS.
01938  M01S01918.xedit   +++| -        SPACE  4,15
01939  M01S01919.xedit   +++|**        - - EXECUTE LAST Y OR Z COMMAND.
01940  M01S01920.xedit   +++|*
01941  M01S01921.xedit   +++|*         ENTRY  AT *DSH1* TO PROCESS *.* COMMAND.
01942  M01S01922.xedit   +++|*
01943  M01S01923.xedit   +++|*         EXIT   TO *PST1* IF NO ERRORS.
Line S01924 Modification History
M01 (Added by) xedit
M02 (Updated by) xedit8
Seq #  *Modification Id* Act 
----------------------------+
01944  M02S01924.xedit8  ---|*         TO *NER* OR *NER* IF ERROR.
Line S01925 Modification History
M01 (Added by) xedit
M02 (Updated by) xedit8
Seq #  *Modification Id* Act 
----------------------------+
01945  M02S01925.xedit8  ---|*
Line S01926 Modification History
M01 (Added by) xedit
M02 (Updated by) xedit8
Seq #  *Modification Id* Act 
----------------------------+
01946  M02S01926.xedit8  ---|*         USES   A - 0, 1, 3, 7.
Line S01927 Modification History
M01 (Added by) xedit
M02 (Updated by) xedit8
Seq #  *Modification Id* Act 
----------------------------+
01947  M02S01927.xedit8  ---|*                X - 0, 1, 3, 6, 7.
Line S01928 Modification History
M01 (Added by) xedit
M02 (Updated by) xedit8
Seq #  *Modification Id* Act 
----------------------------+
01948  M02S01928.xedit8  ---|*                B - 2, 6.
Line S01929 Modification History
M01 (Added by) xedit
M02 (Updated by) xedit8
Seq #  *Modification Id* Act 
----------------------------+
01949  M02S01929.xedit8  ---|*
Line S01930 Modification History
M01 (Added by) xedit
M02 (Updated by) xedit8
Seq #  *Modification Id* Act 
----------------------------+
01950  M02S01930.xedit8  ---|*         CALLS  MPR, STL, STK, VAL.
01951  M01S00001.xedit8  +++|*                TO *CER* OR *NER* IF ERROR.
01952  M01S00002.xedit8  +++|*
01953  M01S00003.xedit8  +++|*         USES   X - 0, 1, 3, 6, 7.
01954  M01S00004.xedit8  +++|*                A - 0, 1, 3, 6, 7.
01955  M01S00005.xedit8  +++|*                B - 2.
01956  M01S00006.xedit8  +++|*
01957  M01S00007.xedit8  +++|*         CALLS  MPR, STK, STL, VAL.
01958  M01S01931.xedit   +++|
01959  M01S01932.xedit   +++|
01960  M01S01933.xedit   +++|          SPECIAL  (-)
01961  M01S01934.xedit   +++|          SA0    Y.DEV       SET ADDRESS OF DEVICE TO STACK
01962  M01S01935.xedit   +++|
01963  M01S01936.xedit   +++|*         ENTRY  (A0) = ADDRESS OF DEVICE TO STACK.
01964  M01S01937.xedit   +++|
01965  M01S01938.xedit   +++| DSH1     RJ     VAL
01966  M01S01939.xedit   +++|          SB2    ILL.
01967  M01S01940.xedit   +++|          PL     X5,NER      IF ARGUMENT AFTER LINE COUNT
01968  M01S01941.xedit   +++|          SX7    DSH3
01969  M01S01942.xedit   +++|          NG     X6,DSH2     IF USED PARAMETER 0
01970  M01S01943.xedit   +++|          NZ     X6,DSH2     IF SPECIFIED A NUMBER
01971  M01S01944.xedit   +++|          SX6    1           SET DEFAULT
01972  M01S01945.xedit   +++|
01973  M01S01946.xedit   +++| DSH2     SA6    SKPCNT
01974  M01S01947.xedit   +++|          SA7    COMMAND     SET COMMAND ADDRESS (RE-ENTER)
01975  M01S01948.xedit   +++|          EQ     PST1        CLOSE COMMAND PROCESSING
01976  M01S01949.xedit   +++|
01977  M01S01950.xedit   +++| DSH3     SA1    SKPCNT
01978  M01S01951.xedit   +++|          RJ     STL         PROCESS INTERRUPT
01979  M01S01952.xedit   +++|          ZR     X1,DSH4     IF NOT TO ADVANCE POINTER
01980  M01S01953.xedit   +++|          SA3    INPMODE
01981  M01S01954.xedit   +++|          SB2    ARG.*100B+1
01982  M01S01955.xedit   +++|          NG     X3,CER      IF NOT VALID IN INPUT MODE
01983  M01S01956.xedit   +++|          SA3    IWHERE
01984  M01S01957.xedit   +++|          SB2    CNV.*100B+1
01985  M01S01958.xedit   +++|          NG     X3,CER      IF NOT VALID IN CREATION MODE
01986  M01S01959.xedit   +++|          RJ     MPR
01987  M01S01960.xedit   +++|
01988  M01S01961.xedit   +++| DSH4     SA1    A0          SET ADDRESS OF DEVICE TO STACK
Line S01962 Modification History
M01 (Added by) xedit
M02 (Updated by) xedit8
Seq #  *Modification Id* Act 
----------------------------+
01989  M02S01962.xedit8  ---|          RJ     STK
Line S01963 Modification History
M01 (Added by) xedit
M02 (Updated by) xedit8
Seq #  *Modification Id* Act 
----------------------------+
01990  M02S01963.xedit8  ---|          SB6    STK.        * COMMAND STACKING ERROR.
Line S01964 Modification History
M01 (Added by) xedit
M02 (Updated by) xedit8
Seq #  *Modification Id* Act 
----------------------------+
01991  M02S01964.xedit8  ---|          EQ     CER         IF DEVICE IS NOT AVAILABLE
01992  M01S01965.xedit   +++|          RJ     STK         STACK DEVICES
01993  M01S01966.xedit   +++|          SB2    STK.
01994  M01S01967.xedit   +++|          EQ     CER         IF DEVICE IS NOT STACKABLE
01995  M01S01968.xedit   +++| .        SPACE  4,10
01996  M01S01969.xedit   +++|**        . - EXECUTE LAST COMMAND.
01997  M01S01970.xedit   +++|*
01998  M01S01971.xedit   +++|*         ENTRY  NONE.
01999  M01S01972.xedit   +++|*
02000  M01S01973.xedit   +++|*         EXIT   TO *DSH1*.
02001  M01S01974.xedit   +++|*
02002  M01S01975.xedit   +++|*         USES   A - 0.
02003  M01S01976.xedit   +++|
02004  M01S01977.xedit   +++|
02005  M01S01978.xedit   +++|          SPECIAL  (.)
02006  M01S01979.xedit   +++|          SA0    P.DEV       SET ADDRESS OF DEVICE TO STACK
02007  M01S01980.xedit   +++|          EQ     DSH1        EXIT, EXECUTE LAST COMMAND
Proceed to Part 1
cdc/nos2.source/opl.opl871/deck/xedit.txt ยท Last modified: by 127.0.0.1