User Tools

Site Tools


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

Deck XEDIT

Library Member Format: MODIFY

Listing Sections

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M00S00001.xedit   +++|          IDENT  XEDIT,111B,XEDIT,0,0
00002  M00S00002.xedit   +++|          ABS
00003  M00S00003.xedit   +++|          ENTRY  XEDIT
00004  M00S00004.xedit   +++|          ENTRY  RFL=
00005  M00S00005.xedit   +++|          SST    IR
00006  M00S00006.xedit   +++|          SYSCOM B1
00007  M00S00007.xedit   +++|          LIST   F
00008  M00S00008.xedit   +++|          TITLE  XEDIT - EXTENDED INTERACTIVE TEXT EDITOR.
00009  M00S00009.xedit   +++|*COMMENT  XEDIT - EXTENDED INTERACTIVE TEXT EDITOR.
Line S00010 Modification History
M01 (Removed by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00010  M01S00010.281l803 ---|          COMMENT COPYRIGHT CONTROL DATA CORPORATION. 1979.
Line S00001 Modification History
M01 (Added by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00011  M01S00001.281l803 +++|          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00012  M00S00011.xedit   +++| XEDIT    SPACE  4,10
00013  M00S00012.xedit   +++|*****     XEDIT - EXTENDED INTERACTIVE TEXT EDITOR.
00014  M00S00013.xedit   +++|*         D. W. MEARS        72/08/01.
00015  M00S00014.xedit   +++|*         W. C. WELLS        76/04/29.
00016  M00S00015.xedit   +++|*         REVISED            77/04/01.
00017  M00S00016.xedit   +++|*         B.C. ANTIN         79/03/09.
00018  M00S00017.xedit   +++|*
00019  M00S00018.xedit   +++|*         XEDIT IS AN INTERACTIVE TEXT EDITOR CAPABLE OF CREATING
00020  M00S00019.xedit   +++|*         AND MODIFYING A TEXT FILE QUICKLY, EASILY, AND ACCURATELY.
00021  M00S00020.xedit   +++|          SPACE  4,10
00022  M00S00021.xedit   +++|***       XEDIT IS AN INTERACTIVE TEXT EDITOR CAPABLE OF CREATING
00023  M00S00022.xedit   +++|*         AND MODIFYING A TEXT FILE QUICKLY EASILY AND ACCURATELY.
00024  M00S00023.xedit   +++|          SPACE  4,10
Line S00024 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00025  M01S00024.v23l617 ---|***       XEDIT CONTROL CARD CALL.
Line S00001 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00026  M01S00001.v23l617 +++|***       XEDIT COMMAND CALL.
00027  M00S00025.xedit   +++|*
00028  M00S00026.xedit   +++|*         XEDIT,EDITFIL,OPTIONS.
00029  M00S00027.xedit   +++|*
00030  M00S00028.xedit   +++|*         WHERE EDITFIL IS THE FILE TO BE EDITED. IF THE EDITFIL IS
00031  M00S00029.xedit   +++|*         NOT SPECIFIED, THE PRIMARY FILE IS USED. IF NO PRIMARY IS
00032  M00S00030.xedit   +++|*         FOUND, XEDIT WILL USE *TAPE1*.
00033  M00S00031.xedit   +++|*
00034  M00S00032.xedit   +++|*         THE OPTIONS ARE -
00035  M00S00033.xedit   +++|*
00036  M00S00034.xedit   +++|*         OPTION   DESCRIPTION/ACTION
00037  M00S00035.xedit   +++|*         ------   ------------------
00038  M00S00036.xedit   +++|*
00039  M00S00037.xedit   +++|*           AS     TURNS ON ASCII PROCESSING.  ASCII IS DEFAULT IF THE
00040  M00S00038.xedit   +++|*                  TERMINAL IS IN ASCII MODE. IF IT IS NOT IN ASCII,
00041  M00S00039.xedit   +++|*                  THIS PARAMETER WILL TURN ON ASCII FOR XEDIT ONLY.
00042  M00S00040.xedit   +++|*
00043  M00S00041.xedit   +++|*           B      DENOTES BATCH PROCESSING. THIS PARAMETER IS ASSUMED
00044  M00S00042.xedit   +++|*                  FOR NON-TELEX ORIGIN JOBS.
00045  M00S00043.xedit   +++|*
00046  M00S00044.xedit   +++|*           C      DENOTES CREATION MODE. THE USER, IN THIS MODE, CAN
00047  M00S00045.xedit   +++|*                  CREATE A TEXT FILE FROM AN EMPTY FILE.
00048  M00S00046.xedit   +++|*
00049  M00S00047.xedit   +++|*           DB     DEBUG. INHIBITS INTERRUPT CONTROL.
00050  M00S00048.xedit   +++|*
00051  M00S00049.xedit   +++|*           FR     INSTRUCTS XEDIT TO SCAN THE FIRST LINE OF THE XEDIT
00052  M00S00050.xedit   +++|*                  EDIT FILE FOR THE INITIAL COMMAND. XEDIT ASSUMES
00053  M00S00051.xedit   +++|*                  THAT THE COMMAND BEGINS WITH THE FIRST NON-BLANK
00054  M00S00052.xedit   +++|*                  CHARACTER WHICH OCCURS AFTER 2 CONSECUTIVE BLANKS.
00055  M00S00053.xedit   +++|*                  THIS FEATURE ALLOWS THE COMMAND TO BE PLACED INTO A
00056  M00S00054.xedit   +++|*                  COMMENT STRING IN MOST LANGUAGES.
00057  M00S00055.xedit   +++|*                  NOTE- ONLY ONE COMMAND IS ALLOWED. MULTIPLE COMMANDS
00058  M00S00056.xedit   +++|*                  ARE ALLOWED VIA THE Y/Z COMMANDS. ALSO, THIS COMMAND
Line S00057 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00059  M01S00057.v23l617 ---|*                  IS EXECUTED BEFORE ANY COMMANDS ON THE CONTROL CARD.
Line S00002 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00060  M01S00002.v23l617 +++|*                  IS EXECUTED BEFORE ANY COMMANDS FOLLOWING THE
00061  M01S00003.v23l617 +++|*                  TERMINATOR ON THE *XEDIT* COMMAND.
00062  M00S00058.xedit   +++|*
Line S00001 Modification History
M01 (Added by) xedit20
Seq #  *Modification Id* Act 
----------------------------+
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  M00S00059.xedit   +++|*           NH     NO HEADER, CANCELS THE ISSUEING OF THE XEDIT VERSION
00067  M00S00060.xedit   +++|*                  MESSAGE.
00068  M00S00061.xedit   +++|*
00069  M00S00062.xedit   +++|*           P      CAUSES EDITFIL TO BE RETRIEVED FROM THE PERMANENT
00070  M00S00063.xedit   +++|*                  FILE CATALOG.
00071  M00S00064.xedit   +++|*
00072  M00S00065.xedit   +++|*          I=IFN   CAUSES XEDIT TO READ INPUT DIRECTIVES FROM FILE IFN.
00073  M00S00066.xedit   +++|*
00074  M00S00067.xedit   +++|*          L=LFN   CAUSES NORMAL XEDIT PRINTOUT TO BE PLACED ON FILE
00075  M00S00068.xedit   +++|*                  LFN INSTEAD OF BEING PRINTED AT THE TERMINAL.
00076  M00S00069.xedit   +++|*
00077  M00S00070.xedit   +++|*         DEFAULTS FOR THE PARAMETERS DEPEND ON ORIGIN TYPE.
00078  M00S00071.xedit   +++|*         FOR TELEX ORIGIN, XEDIT ASSUMES THE FOLLOWING:
00079  M00S00072.xedit   +++|*                *AS* PARAMETER IS SET (DEPENDING ON CHARACTER SET).
00080  M00S00073.xedit   +++|*         FOR BATCH ORIGIN
00081  M00S00074.xedit   +++|*                *B* PARAMETER IS SET. TO PROCESS ASCII FILES, USE THE
00082  M00S00075.xedit   +++|*                    *AS* PARAMETER.
00083  M00S00076.xedit   +++|*
00084  M00S00077.xedit   +++|*         THE SPECIAL INPUT PROMPT OF A DOUBLE QUESTION MARK WILL BE
00085  M00S00078.xedit   +++|*         ISSUED ONLY IF BOTH THE INPUT AND OUTPUT FILES ARE ASSIGNED
00086  M00S00079.xedit   +++|*         AS TYPE *TT*.
00087  M00S00080.xedit   +++|*
00088  M00S00081.xedit   +++|*         THE FIRST LINES OF INPUT TO XEDIT MAY BE SPECIFIED ON
00089  M00S00082.xedit   +++|*         THE XEDIT COMMAND. TO DO THIS, FOLLOW THE TERMINATOR OF THE
00090  M00S00083.xedit   +++|*         COMMAND WITH A DELIMITER AND THE LINES OF INPUT SEPARATED BY
00091  M00S00084.xedit   +++|*         THE SAME DELIMITER CHARACTER.
00092  M00S00085.xedit   +++|          SPACE  4
00093  M00S00086.xedit   +++|**        CONDITIONAL ASSEMBLY OPTIONS.
00094  M00S00087.xedit   +++|*
00095  M00S00088.xedit   +++|*         SYMBOL    FUNCTION
00096  M00S00089.xedit   +++|*         ------    --------
00097  M00S00090.xedit   +++|*
00098  M00S00091.xedit   +++|*         CYBRNET   ASSEMBLES A MODIFIED XEDIT FOR USE BY CYBERNET.
00099  M00S00092.xedit   +++|*
00100  M00S00093.xedit   +++|*         DEBUG     IF = 1, ASSEMBLE VARIOUS PIECES OF DEBUGGING CODE.
00101  M00S00094.xedit   +++|*                   IF = 0, DO NOT ASSEMBLE DEBUG CODE.
00102  M00S00095.xedit   +++|*
00103  M00S00096.xedit   +++|*         FILEOV    DETERMINES WHERE THE OVERLAYS WILL BE LOADED FROM.
00104  M00S00097.xedit   +++|*                   IF = 0, THEN LOAD OVERLAYS FROM LOCAL FILE.  FILE
00105  M00S00098.xedit   +++|*                   NAME IS CONTAINED IN *ACTR*.
00106  M00S00099.xedit   +++|*                   IF = 1, THEN LOAD OVERLAYS FROM THE SYSTEM.
00107  M00S00100.xedit   +++|*
00108  M00S00101.xedit   +++|*         TIMES     ASSEMBLES TIMING CODE. THIS CODE ISSUES THE
00109  M00S00102.xedit   +++|*                   ELSAPED TIME BETWEEN ENTRIES INTO THE COMMAND
00110  M00S00103.xedit   +++|*                   PARSER.  THE IS GIVEN IN THOUSANDTHS OF SECONDS
00111  M00S00104.xedit   +++|*                   AND SHOULD BE ASSEMBLED ONLY WITH KRONOS LEVEL 10+
00112  M00S00105.xedit   +++|*                   OR NOS.
00113  M00S00106.xedit   +++|
00114  M00S00107.xedit   +++|
00115  M00S00108.xedit   +++| DEBUG    SET    0           NO DEBUG
00116  M00S00109.xedit   +++| FILEOV   SET    1           LOAD OVERLAYS FROM SYSTEM
00117  M00S00110.xedit   +++| CYBRNET  SET    0           CYBERNET VERSION
00118  M00S00111.xedit   +++|*                END OF CONDITIONAL ASSEMBLY OPTIONS.
00119  M00S00112.xedit   +++|          SPACE  4,10
00120  M00S00113.xedit   +++|**        REGISTER CONVENTIONS.
00121  M00S00114.xedit   +++|*
00122  M00S00115.xedit   +++|*         IN GENERAL, THE FOLLOWING REGISTERS CAN BE ASSUMED TO
00123  M00S00116.xedit   +++|*         CONTAIN SPECIFIC INFORMATION, OR ARE AVAILABLE UNDER THE
00124  M00S00117.xedit   +++|*         DESCRIBED CIRCUMSTANCES.
00125  M00S00118.xedit   +++|*
00126  M00S00119.xedit   +++|*         A5, X5 = DURING THE PARSING OF THE CURRENT COMMAND, THESE
00127  M00S00120.xedit   +++|*                  REGISTERS POINT/CONTAIN THE CURRENT CHARACTER UNDER
00128  M00S00121.xedit   +++|*                  INVESTIGATION. A NEGATIVE WORD INDICATES AN END
00129  M00S00122.xedit   +++|*                  OF COMMAND. THIS CONVENTION FORCES ALL ROUTINES
00130  M00S00123.xedit   +++|*                  CALLED BY THE PARSER TO AVOID USING THESE
00131  M00S00124.xedit   +++|*                  REGISTERS. A PARTIAL LIST OF THE SUBROUTINES
00132  M00S00125.xedit   +++|*                  AFFECTED ARE -
00133  M00S00126.xedit   +++|*                  *TOP*, *RDF*, *WTF*, *UPL*, *RTOA*.
00134  M00S00127.xedit   +++|*                  ANY ROUTINE WHOSE PARAMETERS ARE COMPLETELY PARSED
00135  M00S00128.xedit   +++|*                  WITHIN THE COMMAND ROUTINE CAN USE THESE REGISTERS.
00136  M00S00129.xedit   +++|*                  THEY SHOULD NOT BE USED BY ANY SUBROUTINES.
00137  M00S00130.xedit   +++|*
00138  M00S00131.xedit   +++|*         A0     = SCRATCH REGISTER. ANY COMMAND PROCESSOR CAN USE THIS
00139  M00S00132.xedit   +++|*                  FOR SCRATCH PURPOSES. SUBROUTINES ARE NOT
00140  M00S00133.xedit   +++|*                  TO USE A0.
00141  M00S00134.xedit   +++|*
00142  M00S00135.xedit   +++|*         B1     = 1.
00143  M00S00136.xedit   +++|          SPACE  4,10
00144  M00S00137.xedit   +++|**        FLAG CONVENTIONS.
00145  M00S00138.xedit   +++|*
00146  M00S00139.xedit   +++|*        -A FLAG OR TOGGLE IS *ON* IF THE FLAG/TOGGLE IS NEGATIVE.
00147  M00S00140.xedit   +++|*
00148  M00S00141.xedit   +++|*        -A FLAG OR TOGGLE IS *TRUE* IF THE FLAG/TOGGLE IS NEGATIVE.
00149  M00S00142.xedit   +++|*
00150  M00S00143.xedit   +++|*        -THE FOLLOWING MATRIX HOLDS FOR THE VARIOUS COMBINATIONS OF
00151  M00S00144.xedit   +++|*         E.CMODE AND E.LMOD WITH REGARD TO E.LINE AND E.STR.
00152  M00S00145.xedit   +++|*
00153  M00S00146.xedit   +++|*          .    E.CMODE = 0              .    E.CMODE = 1
00154  M00S00147.xedit   +++|*          *----------------------------*----------------------------*
00155  M00S00148.xedit   +++|* E.LMOD=0 . E.LINE = CORRECT LINE IMAGE. E.LINE = CORRECT LINE IMAGE.
00156  M00S00149.xedit   +++|*          . E.STR  = GARBAGE           . E.STR  = CORRECT LINE IMAGE.
00157  M00S00150.xedit   +++|*          .                            . (EITHER CAN BE USED SAFELY).
00158  M00S00151.xedit   +++|*          *----------------------------*----------------------------*
00159  M00S00152.xedit   +++|* E.LMOD=1 . THIS CONDITION IS UNDEFINED. E.LINE = GARBAGE           .
00160  M00S00153.xedit   +++|*          .    --NEVER-- DEFINE IT     . E.STR  = CORRECT LINE IMAGE.
00161  M00S00154.xedit   +++|*          .                            .                            .
00162  M00S00155.xedit   +++|*          *----------------------------*----------------------------*
00163  M00S00156.xedit   +++|*
00164  M00S00157.xedit   +++|*         THUS, IF E.LMOD = 0, THE CODED LINE CAN BE WRITTEN.
00165  M00S00158.xedit   +++|*         IF E.CMODE = 1, THE LINE IS UNPACKED TO THE STRING BUFFER.
00166  M00S00159.xedit   +++|*         IF E.CMODE = 1 AND E.LMOD = 1 THEN THE LINE *MUST* BE
00167  M00S00160.xedit   +++|*         REPACKED BEFORE USING (E.LMOD IS THEN SET TO 0).
00168  M00S00161.xedit   +++|          SPACE  4,10
00169  M00S00162.xedit   +++|**        END OF LINE/STRING CONVENTIONS.
00170  M00S00163.xedit   +++|*
00171  M00S00164.xedit   +++|*         WITHIN XEDIT, THERE ARE SEVERAL NOTATIONS USED TO DENOTE THE
00172  M00S00165.xedit   +++|*         END OF A LINE, STRING, ETC.. TO AVOID CONFUSION, THE
00173  M00S00166.xedit   +++|*         FOLLOWING IS THE DIFFERENCES BETWEEN THE REPRESENTATIONS.
00174  M00S00167.xedit   +++|*
00175  M00S00168.xedit   +++|*         A TRUE END OF LINE CONSISTS OF A MASK OF 2 BITS (ALWAYS)
00176  M00S00169.xedit   +++|*
00177  M00S00170.xedit   +++|*         AN END OF STRING IS DENOTED BY THE CHARACTER ORED WITH A
00178  M00S00171.xedit   +++|*         MASK OF 1 BIT.
00179  M00S00172.xedit   +++|*
00180  M00S00173.xedit   +++|*         THIS METHOD ALLOWS THE USER TO ALWAYS SET BIT 59 IF HE WANTS
00181  M00S00174.xedit   +++|*         AN END OF LINE, AND YET TELL THE TWO FORMS APART WHEN ONE
00182  M00S00175.xedit   +++|*         HAS TO RESET THE PSEUDO END OF LINE.
00183  M00S00176.xedit   +++|          SPACE  4,10
00184  M00S00177.xedit   +++|***      ASSEMBLY CONSTANTS.
00185  M00S00178.xedit   +++|
00186  M00S00179.xedit   +++|
00187  M00S00180.xedit   +++| BUFAL    EQU    1401B       SCRATCH FILE BUFFER LENGTH
00188  M00S00181.xedit   +++| BUFBL    EQU    1401B       SECOND SCRATCH BUFFER LENGTH
00189  M00S00182.xedit   +++| BUFCL    EQU    201B        ALTERNATE INPUT BUFFER LENGTH
00190  M00S00183.xedit   +++| BUFDL    EQU    201B        COPY BUFFER LENGTH
00191  M00S00184.xedit   +++| BUFIL    EQU    101B        INPUT BUFFER LENGTH
00192  M00S00185.xedit   +++| BUFOL    EQU    301B        OUTPUT BUFFER LENGTH
00193  M00S00186.xedit   +++| BUFRL    EQU    501B        READ BUFFER LENGTH (LOCAL TO OVL2)
00194  M00S00187.xedit   +++| MINWD    EQU    10D         MINIMUM LINE WIDTH
00195  M00S00188.xedit   +++| MAXWD    EQU    160D        MAXIMUM LINE WIDTH
00196  M00S00189.xedit   +++| M.ASCII  EQU    1           ASCII MODE SETTING
00197  M00S00190.xedit   +++| M.CODED  EQU    0           CODED MODE SETTING
00198  M00S00191.xedit   +++| NTABS    EQU    8           NUMBER OF AVAILABLE TAB STOPS
00199  M00S00192.xedit   +++| VERSION  MICRO  1,,$XEDIT 3.1.00$
00200  M00S00193.xedit   +++|          ORG    111B
00201  M00S00194.xedit   +++|          TITLE  MACROS AND COMMON DECKS.
00202  M00S00195.xedit   +++|
00203  M00S00196.xedit   +++|*         COMMON DECKS.
00204  M00S00197.xedit   +++|
Line S00001 Modification History
M01 (Added by) xedit12
Seq #  *Modification Id* Act 
----------------------------+
00205  M01S00001.xedit12 +++|*CALL     COMCMAC
00206  M00S00198.xedit   +++|*CALL     COMSPFM
Line S00199 Modification History
M01 (Removed by) xedit12
Seq #  *Modification Id* Act 
----------------------------+
00207  M01S00199.xedit12 ---|*CALL     COMCMAC
Line S00001 Modification History
M01 (Added by) xedit13
Seq #  *Modification Id* Act 
----------------------------+
00208  M01S00001.xedit13 +++|*CALL     COMSLFD
00209  M00S00200.xedit   +++|
00210  M00S00201.xedit   +++| CHAR     SPACE  4,15
00211  M00S00202.xedit   +++|**        CHAR - SET UP CALL TO *CHAR=* MACRO TO PRESET CHARACTERS.
00212  M00S00203.xedit   +++|*
00213  M00S00204.xedit   +++|*         CHAR   A,B
00214  M00S00205.xedit   +++|*
00215  M00S00206.xedit   +++|*         ENTRY  *A* = INSTRUCTION IN WHICH SUBSTITUTION WILL OCCUR.
00216  M00S00207.xedit   +++|*                *B* = CHARACTER MNEMONIC TO SUBSTITUTE.
00217  M00S00208.xedit   +++|*                THE REPLACEMENT IS DONE WITH BOOLEAN OR, THUS THE
00218  M00S00209.xedit   +++|*                INVERSE CHARACTER VALUE CAN BE OBTAINED BY SETTING UP
00219  M00S00210.xedit   +++|*                A NEGATIVE FIELD.
00220  M00S00211.xedit   +++|*
00221  M00S00212.xedit   +++|*         EXIT   INSTRUCTION *A* IS ENTERED.
00222  M00S00213.xedit   +++|*                AN ENTRY IS MADE IN THE CHARACTER REPLACEMENT TABLE.
00223  M00S00214.xedit   +++|
00224  M00S00215.xedit   +++|          NOREF  .CH1,.CH2
00225  M00S00216.xedit   +++|          PURGMAC CHAR
00226  M00S00217.xedit   +++|
00227  M00S00218.xedit   +++| CHAR     MACRO  A,B
00228  M00S00219.xedit   +++|  A
00229  M00S00220.xedit   +++| .CH1 SET *P
00230  M00S00221.xedit   +++|  IFGT .CH1,59,3
00231  M00S00222.xedit   +++| .CH1 SET 0
00232  M00S00223.xedit   +++| .CH2 SET *-1
00233  M00S00224.xedit   +++|  SKIP 1
00234  M00S00225.xedit   +++| .CH2 SET *
00235  M00S00226.xedit   +++|  CHAR= .CH1,.CH2,B
00236  M00S00227.xedit   +++|          ENDM   CHAR
00237  M00S00228.xedit   +++| CHAR=    SPACE  4,10
00238  M00S00229.xedit   +++|**        CHAR= - FORM ENTRY INTO CHARACTER REPLACEMENT TABLE.
00239  M00S00230.xedit   +++|*
00240  M00S00231.xedit   +++|*
00241  M00S00232.xedit   +++|*         CHAR=  A,B,C
00242  M00S00233.xedit   +++|*         ENTRY  *A* = LEFT SHIFT COUNT TO POSITION CHARACTER.
00243  M00S00234.xedit   +++|*                *B* = WORD TO REPLACE INTO.
00244  M00S00235.xedit   +++|*                *C* = ADDRESS OF DESIRED CHARACTER REPLACEMENT WORD.
00245  M00S00236.xedit   +++|*
00246  M00S00237.xedit   +++|*         EXIT   AN ENTRY IS MADE IN CHARACTER REPLACEMENT TABLE.
00247  M00S00238.xedit   +++|
00248  M00S00239.xedit   +++|
00249  M00S00240.xedit   +++|          PURGMAC CHAR=
00250  M00S00241.xedit   +++|
00251  M00S00242.xedit   +++| CHAR=    MACRO  A,B,C
00252  M00S00243.xedit   +++|          USE    SETCHAR
00253  M00S00244.xedit   +++|  VFD     12/A+2000B,30/B,18/C
00254  M00S00245.xedit   +++|          USE    *
00255  M00S00246.xedit   +++|          ENDM   CHAR=
00256  M00S00247.xedit   +++|
00257  M00S00248.xedit   +++|*         INITIALIZE SETCHAR USE BLOCK.
00258  M00S00249.xedit   +++|
00259  M00S00250.xedit   +++|          USE    SETCHAR
00260  M00S00251.xedit   +++| CHARSET  BSS    0
00261  M00S00252.xedit   +++|          USE    *
00262  M00S00253.xedit   +++| COMMAND  SPACE  4,20
00263  M00S00254.xedit   +++|**        COMMAND - DEFINE AN XEDIT COMMAND TABLE ENTRY.
00264  M00S00255.xedit   +++|*
00265  M00S00256.xedit   +++|* ID      COMMAND  LONG,SHORT,PARMS,MOD,ADDR,SPECIAL,OVRL
00266  M00S00257.xedit   +++|*
00267  M00S00258.xedit   +++|*         ENTRY  *ID* = XEDIT COMMAND IDENTIFIER.
00268  M00S00259.xedit   +++|*                *LONG* = LONG FORM OF COMMAND.
00269  M00S00260.xedit   +++|*                *SHORT* = SHORT FORM OF COMMAND.
00270  M00S00261.xedit   +++|*                *PARMS* = SPECIFIED PARAMETER CRACKING.
00271  M00S00262.xedit   +++|*                *ADDR* = JUMP ADDRESS FOR ROUTINE.
00272  M00S00263.xedit   +++|*                *MOD* = OPTIONAL MODIFIER FIELD.
00273  M00S00264.xedit   +++|*                *OVL* = OVERLAY NEEDED TO EXECUTE COMMAND, IF NEEDED.
00274  M00S00265.xedit   +++|*                *SPECIAL* = REPEATING PARAMETER WHOSE ARGUMENTS ARE -
00275  M00S00266.xedit   +++|*                            *CR* = COMMAND VALID IN CREATION MODE.
00276  M00S00267.xedit   +++|*                            *F0* = NUMBER PARAMETER MUST BE FORCED
00277  M00S00268.xedit   +++|*                            ZERO, IF COMMAND IS EXECUTED IN *INPUT
00278  M00S00269.xedit   +++|*                            MODE.
00279  M00S00270.xedit   +++|*                            *LK* = COMMAND VALID ON LOOK MODE.
00280  M00S00271.xedit   +++|*                            *IN* = COMMAND VALID IN INPUT MODE.
00281  M00S00272.xedit   +++|*
00282  M00S00273.xedit   +++|*         EXIT   COMMAND TABLE ENTRY IS DEFINED.
00283  M00S00274.xedit   +++|
00284  M00S00275.xedit   +++| MXOVL    SET    0           SET NUMBER OF OVERLAYS
00285  M00S00276.xedit   +++|
00286  M00S00277.xedit   +++|          PURGMAC COMMAND
00287  M00S00278.xedit   +++|
00288  M00S00279.xedit   +++|  MACRO COMMAND,NM,LONG,SHORT,PARMS,MOD,ADDR,SPL,OVRL
00289  M00S00280.xedit   +++|  IFC NE,$SHORT$$,1
00290  M00S00281.xedit   +++|          IRP    SHORT
00291  M00S00282.xedit   +++|          DATA   0L_SHORT
00292  M00S00283.xedit   +++|          IRP
00293  M00S00284.xedit   +++|  IFC NE,$LONG$$,2
00294  M00S00285.xedit   +++|  DATA 0L_LONG
00295  M00S00286.xedit   +++|  MHELP LONG,SHORT
00296  M00S00287.xedit   +++| C.A SET PARMS 0
00297  M00S00288.xedit   +++|  IRP SPL
00298  M00S00289.xedit   +++|  POS /OPTS/SPL+1
00299  M00S00290.xedit   +++|  VFD 1/1
00300  M00S00291.xedit   +++|  IRP
00301  M00S00292.xedit   +++|  POS 60
00302  M00S00293.xedit   +++| .. IFC NE,$OVRL$$
00303  M00S00294.xedit   +++| C.D MICRO 4,4,$_OVRL_$
00304  M00S00295.xedit   +++|  VFD 2/2,10/-OVL
00305  M00S00296.xedit   +++|  POS 36
00306  M00S00297.xedit   +++|  VFD 18/NM-1,18/"C.D"
00307  M00S00298.xedit   +++| CMD_"C.D" RMT
00308  M00S00299.xedit   +++|  QUAL
00309  M00S00300.xedit   +++| NM BSS 0
00310  M00S00301.xedit   +++|  QUAL *
00311  M00S00302.xedit   +++|  COMMAND  (),(),PARMS,MOD,ADDR,(_SPL_)
00312  M00S00303.xedit   +++|  RMT
00313  M00S00304.xedit   +++| . IFGT "C.D",MXOVL,1
00314  M00S00305.xedit   +++| MXOVL SET "C.D"
00315  M00S00306.xedit   +++| .. ELSE
00316  M00S00307.xedit   +++| NM  VFD 2/2,10/-C.A
00317  M00S00308.xedit   +++|  POS 36
00318  M00S00309.xedit   +++|  VFD 18/MOD,18/ADDR
00319  M00S00310.xedit   +++| .. ENDIF
00320  M00S00311.xedit   +++|          ENDM   COMMAND
00321  M00S00312.xedit   +++| DEVICE   SPACE  4,20
00322  M00S00313.xedit   +++|**        DEVICE - DEFINE INPUT DEVICE.
00323  M00S00314.xedit   +++|*
00324  M00S00315.xedit   +++|*
00325  M00S00316.xedit   +++|*N        DEVICE FET,ACTIVE,CMDPOP
00326  M00S00317.xedit   +++|*
00327  M00S00318.xedit   +++|*         ENTRY  *N* = 1 CHARACTER SYMBOL FOR NAME OF DEVICE.
00328  M00S00319.xedit   +++|*                *FET* = ADDRESS OF FET ASSOCIATED WITH DEVICE,
00329  M00S00320.xedit   +++|*                        IF ONE EXISTS.
00330  M00S00321.xedit   +++|*                *ACTIVE* = DEVICE IS ACTIVE (SET ONLY ON *I* DEVICE).
00331  M00S00322.xedit   +++|*                *CMDPOP* = POP STACK IF READ REQUIRED FOR NEXT
00332  M00S00323.xedit   +++|*                          COMMAND, ELSE READ LINE IF FOR DATA.
00333  M00S00324.xedit   +++|*
00334  M00S00325.xedit   +++|*         EXIT   N.LINE = FWA OF CODED LINE BUFFER FOR DEVICE.
00335  M00S00326.xedit   +++|*                N.DEV = ADDRESS OF DEVICE DEFINITION FOR
00336  M00S00327.xedit   +++|*                        ROUTINE, *STK*.
00337  M00S00328.xedit   +++|*                A DEVICE DEFINITION BLOCK IS GENERATED.
00338  M00S00329.xedit   +++|
00339  M00S00330.xedit   +++|          PURGMAC DEVICE
00340  M00S00331.xedit   +++|
00341  M00S00332.xedit   +++|          MACRO  DEVICE,N,FET,ACTIVE,CMDPOP
00342  M00S00333.xedit   +++| N_.LINE BSSZ 33D
00343  M00S00334.xedit   +++|  IFC NE,$CMDPOP$$,1
00344  M00S00335.xedit   +++|  VFD 1/1
00345  M00S00336.xedit   +++|  VFD *P/FET
00346  M00S00337.xedit   +++| N_.DEV BSS 0
00347  M00S00338.xedit   +++|  IFC EQ,$ACTIVE$$,2
00348  M00S00339.xedit   +++|  CON -1
00349  M00S00340.xedit   +++|  SKIP 1
00350  M00S00341.xedit   +++|  CON 0
00351  M00S00342.xedit   +++|  VFD 1/0,11/0,30/,18/-1
00352  M00S00343.xedit   +++|          ENDM   DEVICE
00353  M00S00344.xedit   +++| ERRMSG   SPACE  4,25
00354  M00S00345.xedit   +++|**        ERRMSG - DEFINE XEDIT ERROR MESSAGES.
00355  M00S00346.xedit   +++|*
00356  M00S00347.xedit   +++|*
00357  M00S00348.xedit   +++|*NAME     ERRMSG BELLS,TEXT
00358  M00S00349.xedit   +++|*
00359  M00S00350.xedit   +++|*         ENTRY  *NAME* = THE NAME OF THE ERROR MESSAGE.
00360  M00S00351.xedit   +++|*                *BELLS* = THE NUMBER OF BELLS TO ISSUE BEFORE
00361  M00S00352.xedit   +++|*                THE MESSAGE.
00362  M00S00353.xedit   +++|*                *TEXT* = THE TEXT OF THE MESSAGE.
00363  M00S00354.xedit   +++|*
00364  M00S00355.xedit   +++|*         THIS MACRO GENERATES A TABLE OF POINTERS TO THE ERROR
00365  M00S00356.xedit   +++|*         MESSAGES (FOR USE BY *EXPLAIN*). THE TEXT OF THE MESSAGES
00366  M00S00357.xedit   +++|*         IS PUT INTO REMOTE BLOCK *ERRMSG*. THIS BLOCK IS ASSUMED TO
00367  M00S00358.xedit   +++|*         BE ASSEMBLED IMMEDIATELY AFTER THE MACRO CALLS. A SIMILIAR
00368  M00S00359.xedit   +++|*         BLOCK IS MADE FOR USE BY THE *NOBELLS* COMMAND. THIS BLOCK
00369  M00S00360.xedit   +++|*         CONTAINS THE ERROR MESSAGES BUT WITHOUT THE BELLS IN THEM.
00370  M00S00361.xedit   +++|*         (THIS TABLE IS IN REMOTE BLOCK *ERROVL*)
00371  M00S00362.xedit   +++|*         IN ADDITION, THE *NO BELLS* TABLE IS ALSO DUPLICATED IN
00372  M00S00363.xedit   +++|*         ANOTHER REMOTE BLOCK CALLED *ERRPRS*. THIS BLOCK IS
00373  M00S00364.xedit   +++|*         DESIGNED TO BE ASSEMBLED IN THE PRESET CODE. THIS ALLOWS
00374  M00S00365.xedit   +++|*         BATCH ORIGIN OUTPUT TO LOOK NICE BY REMOVING ALL THE
00375  M00S00366.xedit   +++|*         BELL SYMBOLS AND CONTROL BYTES. A LEADING BLANK IS ADDED.
00376  M00S00367.xedit   +++|
00377  M00S00368.xedit   +++|          PURGMAC ERRMSG
00378  M00S00369.xedit   +++|
00379  M00S00370.xedit   +++|          MACRO  ERRMSG,NAME,BELLS,TEXT
00380  M00S00371.xedit   +++|          LOCAL  Y
00381  M00S00372.xedit   +++| ... IFC NE,;TEXT_;
00382  M00S00373.xedit   +++| .. IFC NE,$NAME$$,1
00383  M00S00374.xedit   +++| NAME BSS 0
00384  M00S00375.xedit   +++|  CON Y
00385  M00S00376.xedit   +++| ERRMSG RMT
00386  M00S00377.xedit   +++| .C MICRO 1,,;TEXT_
00387  M00S00378.xedit   +++| .F MICCNT .C
00388  M00S00379.xedit   +++| .B SET BELLS*2
00389  M00S00380.xedit   +++| .B SET .A-.B
00390  M00S00381.xedit   +++| .C MICRO 1,.B,;TEXT_
00391  M00S00382.xedit   +++| .D MICRO .B+1,,;TEXT_
00392  M00S00383.xedit   +++| Y BSS 0
00393  M00S00384.xedit   +++| . IFC NE,$NAME$$,1
00394  M00S00385.xedit   +++|  VFD 12/0011B
00395  M00S00386.xedit   +++|  DUP BELLS,1
00396  M00S00387.xedit   +++|  CHAR (VFD 12/0),BL.
00397  M00S00388.xedit   +++| .. IFLE .F+2,.B,4
00398  M00S00389.xedit   +++| .E DECMIC .F
00399  M00S00390.xedit   +++| .F SET .F*6
00400  M00S00391.xedit   +++|  VFD .F/_".E"_H_".C"_,*P/
00401  M00S00392.xedit   +++| .. SKIP 3
00402  M00S00393.xedit   +++| .E DECMIC .B
00403  M00S00394.xedit   +++|  VFD *P/_".E"_H_".C"
00404  M00S00395.xedit   +++|  DATA C;".D"_
00405  M00S00396.xedit   +++|  RMT
00406  M00S00397.xedit   +++| .. IFC NE,$NAME$$,6
00407  M00S00398.xedit   +++| ERROVL RMT
00408  M00S00399.xedit   +++|  ERRMSG 0,(_TEXT_)
00409  M00S00400.xedit   +++|  RMT
00410  M00S00401.xedit   +++| ERRPRS RMT
00411  M00S00402.xedit   +++|  ERRMSG 0,( TEXT_)
00412  M00S00403.xedit   +++|  RMT
00413  M00S00404.xedit   +++| ... ELSE
00414  M00S00405.xedit   +++| .. IFC NE,nAME;,10
00415  M00S00406.xedit   +++| ERROVL RMT
00416  M00S00407.xedit   +++|  LOC ERRBASE
00417  M00S00408.xedit   +++|  ERRMSG
00418  M00S00409.xedit   +++|  LOC *O
00419  M00S00410.xedit   +++|  RMT
00420  M00S00411.xedit   +++| ERRPRS RMT
00421  M00S00412.xedit   +++|  LOC ERRBASE
00422  M00S00413.xedit   +++|  ERRMSG
00423  M00S00414.xedit   +++|  LOC *O
00424  M00S00415.xedit   +++|  RMT
00425  M00S00416.xedit   +++| ERRMSG HERE
00426  M00S00417.xedit   +++| ... ENDIF
00427  M00S00418.xedit   +++|          ENDM   ERRMSG
00428  M00S00419.xedit   +++|
00429  M00S00420.xedit   +++|*         PRESET REMOTE BLOCKS.
00430  M00S00421.xedit   +++|
00431  M00S00422.xedit   +++| ERRMSG   RMT
00432  M00S00423.xedit   +++| .A       SET    8
00433  M00S00424.xedit   +++|          RMT
00434  M00S00425.xedit   +++| ERROVL   RMT
00435  M00S00426.xedit   +++| .A       SET    10
00436  M00S00427.xedit   +++|          CON    ERR         KLUDGE FOR PFM
00437  M00S00428.xedit   +++|          RMT
00438  M00S00429.xedit   +++| ERRPRS   RMT
00439  M00S00430.xedit   +++| .A       SET    10
00440  M00S00431.xedit   +++|          CON    ERR         KLUDGE FOR PFM
00441  M00S00432.xedit   +++|          RMT
00442  M00S00433.xedit   +++| ERROR    SPACE  4,15
00443  M00S00434.xedit   +++|**        ERROR - ISSUE ERROR MESSAGE.
00444  M00S00435.xedit   +++|*
00445  M00S00436.xedit   +++|*
00446  M00S00437.xedit   +++|*         ERROR  PRIMARY,SECONDARY
00447  M00S00438.xedit   +++|*
00448  M00S00439.xedit   +++|*         ENTRY  *PRIMARY* = PRIMARY MESSAGE ORDINAL.
00449  M00S00440.xedit   +++|*                *SECONDARY* = SECONDARY MESSAGE ORDINAL.
00450  M00S00441.xedit   +++|*
00451  M00S00442.xedit   +++|*         EXIT   THE SPECIFIED ERROR MESSAGE IS ISSUED.
00452  M00S00443.xedit   +++|*                (EXPLAIN) = NEW EXPLAIN ENTRY.
00453  M00S00444.xedit   +++|*
00454  M00S00445.xedit   +++|*         USES   B - 2.
00455  M00S00446.xedit   +++|*
00456  M00S00447.xedit   +++|*         CALLS  IEM.
00457  M00S00448.xedit   +++|
00458  M00S00449.xedit   +++|          PURGMAC ERROR
00459  M00S00450.xedit   +++|
00460  M00S00451.xedit   +++| ERROR    MACRO  PRI,SEC
00461  M00S00452.xedit   +++|  IFC EQ,$SEC$$,2
00462  M00S00453.xedit   +++|  R= B2,PRI
00463  M00S00454.xedit   +++|  SKIP 1
00464  M00S00455.xedit   +++|  R= B2,PRI*100B+SEC
00465  M00S00456.xedit   +++|  RJ IEM
00466  M00S00457.xedit   +++|          ENDM   ERROR
00467  M00S00458.xedit   +++| FERROR   SPACE  4,20
00468  M00S00459.xedit   +++|**        FERROR - ISSUE FILE ERROR MESSAGE.
00469  M00S00460.xedit   +++|*
00470  M00S00461.xedit   +++|*
00471  M00S00462.xedit   +++|*         FERROR NAME,PRIMARY,SECONDARY
00472  M00S00463.xedit   +++|*
00473  M00S00464.xedit   +++|*         ENTRY  *NAME* = FILE NAME.
00474  M00S00465.xedit   +++|*                *PRIMARY* = PRIMARY MESSAGE ORDINAL.
00475  M00S00466.xedit   +++|*                *SECONDARY* = SECONDARY MESSAGE ORDINAL.
00476  M00S00467.xedit   +++|*                FILE MESSAGES CANNOT CONTAIN BELLS.
00477  M00S00468.xedit   +++|*
00478  M00S00469.xedit   +++|*         EXIT   SPECIFIED ERROR MESSAGE IS ISSUED.
00479  M00S00470.xedit   +++|*                (EXPLAIN) = NEW EXPLAIN ENTRY.
00480  M00S00471.xedit   +++|*
00481  M00S00472.xedit   +++|*         USES   A - 1.
00482  M00S00473.xedit   +++|*                X - 1.
00483  M00S00474.xedit   +++|*                B - 2.
00484  M00S00475.xedit   +++|*
00485  M00S00476.xedit   +++|*         CALLS  IFM.
00486  M00S00477.xedit   +++|
00487  M00S00478.xedit   +++|          PURGMAC FERROR
00488  M00S00479.xedit   +++|
00489  M00S00480.xedit   +++| FERROR   MACRO  NAME,PRI,SEC
00490  M00S00481.xedit   +++|  IFC EQ,$SEC$$,2
00491  M00S00482.xedit   +++|  R= B2,PRI
00492  M00S00483.xedit   +++|  SKIP 1
00493  M00S00484.xedit   +++|  R= B2,PRI*100B+SEC
00494  M00S00485.xedit   +++|  R= A1,NAME
00495  M00S00486.xedit   +++|  RJ IFM
00496  M00S00487.xedit   +++|          ENDM   FERROR
00497  M00S00488.xedit   +++| HEREL    SPACE  4,10
00498  M00S00489.xedit   +++|**        HEREL - ASSEMBLE AND LIST REMOTE TEXT.
00499  M00S00490.xedit   +++|*
00500  M00S00491.xedit   +++|*
00501  M00S00492.xedit   +++|*         HEREL
00502  M00S00493.xedit   +++|*
00503  M00S00494.xedit   +++|*         EXIT   REMOTE TEXT IS ASSEMBLED AND LISTED.
00504  M00S00495.xedit   +++|
00505  M00S00496.xedit   +++|          PURGMAC HEREL
00506  M00S00497.xedit   +++|
00507  M00S00498.xedit   +++|          MACRO  HEREL,NAME
00508  M00S00499.xedit   +++|          LIST   G
00509  M00S00500.xedit   +++| ;A HERE
00510  M00S00501.xedit   +++|          LIST   *
00511  M00S00502.xedit   +++|          ENDM   HEREL
00512  M00S00503.xedit   +++| MHELP    SPACE  4,15
00513  M00S00504.xedit   +++|**        MHELP - ASSEMBLE HELP COMMAND DIRECTORY.
00514  M00S00505.xedit   +++|*
00515  M00S00506.xedit   +++|*
00516  M00S00507.xedit   +++|*         MHELP  A,B.
00517  M00S00508.xedit   +++|*
00518  M00S00509.xedit   +++|*         ENTRY  *A* = LONG FORM OF THE COMMAND.
00519  M00S00510.xedit   +++|*                *B* = SHORT FORM OF THE COMMAND. IF NULL, NO
00520  M00S00511.xedit   +++|*                      ENTRY IS MADE.
00521  M00S00512.xedit   +++|*
00522  M00S00513.xedit   +++|*         NOTES  MHELP ASSEMBLES THE HELP COMMAND DIRECTORY USED BY
00523  M00S00514.xedit   +++|*                THE HELP COMMAND. THIS MACRO PLACES THE INFORMATION
00524  M00S00515.xedit   +++|*                IN THE REMOTE BLOCK, *HELP*, FOR ASSEMBLY IN THE HELP
00525  M00S00516.xedit   +++|*                OVERLAY.
00526  M00S00517.xedit   +++|
00527  M00S00518.xedit   +++|          PURGMAC MHELP
00528  M00S00519.xedit   +++|
00529  M00S00520.xedit   +++| MHELP    MACRO  A,B
00530  M00S00521.xedit   +++|          LOCAL  MH5
00531  M00S00522.xedit   +++|  IFEQ MH2,3,6
00532  M00S00523.xedit   +++| MH5 MICRO 1,,$"MH1"$
00533  M00S00524.xedit   +++| HELP RMT
00534  M00S00525.xedit   +++|  DATA C$"MH5"$
00535  M00S00526.xedit   +++|  RMT
00536  M00S00527.xedit   +++| MH1 MICRO 1,2,$ $
00537  M00S00528.xedit   +++| MH2 SET 0
00538  M00S00529.xedit   +++|
00539  M00S00530.xedit   +++| . IFNE MH2,2
00540  M00S00531.xedit   +++| MH3 MICRO 1,12,$_A_             $
00541  M00S00532.xedit   +++| MH4 MICRO 1,9,$          $
00542  M00S00533.xedit   +++|  IFC NE,$B$$,1
00543  M00S00534.xedit   +++| MH4 MICRO 1,9,$[_B_]          $
00544  M00S00535.xedit   +++| . ELSE
00545  M00S00536.xedit   +++|  IFC NE,$B$$,3
00546  M00S00537.xedit   +++| MH3 MICRO 1,12,$_A_             $
00547  M00S00538.xedit   +++| MH4 MICRO 1,,$[_B_]$
00548  M00S00539.xedit   +++|  SKIP 2
00549  M00S00540.xedit   +++| MH3 MICRO 1,,$_A_$
00550  M00S00541.xedit   +++| MH4 MICRO 1,1,$ $
00551  M00S00542.xedit   +++| . ENDIF
00552  M00S00543.xedit   +++| MH1 MICRO 1,,$"MH1"_"MH3"_"MH4"_$
00553  M00S00544.xedit   +++| MH2 SET MH2+1
00554  M00S00545.xedit   +++|          ENDM   MHELP
00555  M00S00546.xedit   +++|
00556  M00S00547.xedit   +++|          NOREF  MH2
00557  M00S00548.xedit   +++| MH1      MICRO  1,1,$ $
00558  M00S00549.xedit   +++| MH2      SET    0
00559  M00S00550.xedit   +++| OVERLAY  SPACE  4,15
00560  M00S00551.xedit   +++|***       OVERLAY - LOAD OVERLAY.
00561  M00S00552.xedit   +++|*
00562  M00S00553.xedit   +++|*
00563  M00S00554.xedit   +++|*         OVERLAY NAME,LEVEL,SYSTEM,FWA
00564  M00S00555.xedit   +++|*         ENTRY  *NAME* = ADDRESS OF FILE NAME IN *L* FORMAT.
00565  M00S00556.xedit   +++|*                *LEVEL* = OVERLAY LEVEL.
00566  M00S00557.xedit   +++|*                *SYSTEM* IF SPECIFIED, OVERLAY WILL BE LOADED FROM
00567  M00S00558.xedit   +++|*                            SYSTEM LIBRARY, AND (NAME) = NAME OF
00568  M00S00559.xedit   +++|*                            OVERLAY.
00569  M00S00560.xedit   +++|*                *FWA* IF SPECIFIED = ADDRESS AT WHICH OVERLAY WILL
00570  M00S00561.xedit   +++|*                            BE LOADED.
00571  M00S00562.xedit   +++|*         EXIT   (X1) = OVERLAY ENTRY ADDRESS.
00572  M00S00563.xedit   +++|*         CALLS  OVL=.
00573  M00S00564.xedit   +++|
00574  M00S00565.xedit   +++|
00575  M00S00566.xedit   +++|          PURGMAC OVERLAY
00576  M00S00567.xedit   +++|
00577  M00S00568.xedit   +++| OVERLAY  MACRO  N,L,S,F
00578  M00S00569.xedit   +++|  LOCAL A
00579  M00S00570.xedit   +++|A SET 0
00580  M00S00571.xedit   +++|  IFC NE,$S$$,1
00581  M00S00572.xedit   +++|A SET 1
00582  M00S00573.xedit   +++|  IFC NE,$L$$
00583  M00S00574.xedit   +++|  SX6 L
00584  M00S00575.xedit   +++|  LX6 6
00585  M00S00576.xedit   +++|  SX6 X6+A
00586  M00S00577.xedit   +++|  ELSE 1
00587  M00S00578.xedit   +++|  SX6 A
00588  M00S00579.xedit   +++|  R= X2,F
00589  M00S00580.xedit   +++|  IFC NE,$N$X1$,1
00590  M00S00581.xedit   +++|  SA1 N
00591  M00S00582.xedit   +++|  RJ =XOVL=
00592  M00S00583.xedit   +++|  ENDM OVERLAY
00593  M00S00584.xedit   +++| OVLDEF  SPACE  4
00594  M00S00585.xedit   +++|**        OVLDEF - DEFINE XEDIT OVERLAY
00595  M00S00586.xedit   +++|*
00596  M00S00587.xedit   +++|*ADDR     OVLDEF   LEVEL,ADDR
00597  M00S00588.xedit   +++|*
00598  M00S00589.xedit   +++|*         ADDR  = LOAD ADDRESS IF NOT FWAOVL
00599  M00S00590.xedit   +++|*         LEVEL = LEVEL OF OVERLAY
00600  M00S00591.xedit   +++|*         TITLE = TITLE OF OVERLAY
00601  M00S00592.xedit   +++|*         PRESET= SET IF THIS OVERLAY HAS SPECIAL PRESET CODE.
00602  M00S00593.xedit   +++|*                 IF SO, PRESET CODE SHOULD BE A SUBROUTINE ENTITLED
00603  M00S00594.xedit   +++|*                 *PRS* (WILL BE RETURNED JUMPED TO).
00604  M00S00595.xedit   +++|
00605  M00S00596.xedit   +++|
00606  M00S00597.xedit   +++|          PURGMAC OVLDEF
00607  M00S00598.xedit   +++|          MACRO  OVLDEF,ADDR,LVL,TEXT,PRESET
00608  M00S00599.xedit   +++|  QUAL XEDIT_LVL
00609  M00S00600.xedit   +++|  TTL XEDIT_LVL - TEXT
00610  M00S00601.xedit   +++|  TITLE
00611  M00S00602.xedit   +++|  IFC EQ,$ADDR$$,2
00612  M00S00603.xedit   +++|  IDENT XEDIT_LVL,FWAOVL,XEDIT_LVL,LVL,0
00613  M00S00604.xedit   +++|  SKIP 1
00614  M00S00605.xedit   +++|  IDENT XEDIT_LVL,ADDR,XEDIT_LVL,LVL,0
00615  M00S00606.xedit   +++|*COMMENT  XEDIT - TEXT
00616  M00S00607.xedit   +++|  IFC EQ,$ADDR$$,2
00617  M00S00608.xedit   +++|  ORG FWAOVL
00618  M00S00609.xedit   +++|  SKIP 1
00619  M00S00610.xedit   +++|  ORG ADDR
00620  M00S00611.xedit   +++|  NOREF .A,.B,.F,C.A,C.B,C.C,MH2
00621  M00S00612.xedit   +++| CMD_LVL HERE
00622  M00S00613.xedit   +++|  QUAL
00623  M00S00614.xedit   +++| XEDIT_LVL BSS 0   DEFINE PRESET ENTRY POINT
00624  M00S00615.xedit   +++|  QUAL *
00625  M00S00616.xedit   +++|  SA1 CHARSET
00626  M00S00617.xedit   +++|  RJ ICH
00627  M00S00618.xedit   +++|  IFC NE,$PRESET$$,1
00628  M00S00619.xedit   +++|  RJ PRS
00629  M00S00620.xedit   +++|  EQ PRM39
00630  M00S00621.xedit   +++|  USE SETCHAR
00631  M00S00622.xedit   +++| CHARSET BSS 0
00632  M00S00623.xedit   +++|  USE *
00633  M00S00624.xedit   +++|          ENDM   OVLDEF
00634  M00S00625.xedit   +++| PARAM    SPACE  4,10
00635  M00S00626.xedit   +++|**        PARAM - DEFINE PARAMETER SYMBOL FOR COMMAND MACRO.
00636  M00S00627.xedit   +++|*
00637  M00S00628.xedit   +++|*
00638  M00S00629.xedit   +++|*LABEL    PARAM  NAME
00639  M00S00630.xedit   +++|*
00640  M00S00631.xedit   +++|*         ENTRY  *LABEL* = REGULAR LABEL FIELD.
00641  M00S00632.xedit   +++|*                *NAME* = NAME FOR COMMAND MACRO.  THIS BECOMES
00642  M00S00633.xedit   +++|*                *LABEL-PRM*.
00643  M00S00634.xedit   +++|
00644  M00S00635.xedit   +++|          PURGMAC PARAM
00645  M00S00636.xedit   +++|
00646  M00S00637.xedit   +++|          MACRO  PARAM,LABEL,NAME
00647  M00S00638.xedit   +++|
00648  M00S00639.xedit   +++| ;A BSS 0
00649  M00S00640.xedit   +++| ;B EQU ;A-PRM.
00650  M00S00641.xedit   +++|          ENDM   PARAM
00651  M00S00642.xedit   +++| PREFIX   SPACE  4,15
00652  M00S00643.xedit   +++|**        PREFIX - DEFINE PREFIX CHARACTERS.
00653  M00S00644.xedit   +++|*
00654  M00S00645.xedit   +++|*
00655  M00S00646.xedit   +++|*         PREFIX CHARS
00656  M00S00647.xedit   +++|*
00657  M00S00648.xedit   +++|*         ENTRY  *CHARS* = PREFIX CHARACTER TO BE DEFINED.
00658  M00S00649.xedit   +++|*                IF ALPHABETIC, MACRO WILL GENERATE BOTH AN
00659  M00S00650.xedit   +++|*                   UPPER AND LOWER CASE ENTRY.
00660  M00S00651.xedit   +++|*                IF THE PARAMETER CONTAINS MORE THAT 1 CHARACTERS, THE
00661  M00S00652.xedit   +++|*                   MACRO WILL ASSUME THAT THE CHARACTER NEEDS TO BE
00662  M00S00653.xedit   +++|*                   PRESET AND WILL GENERATE THE PROPER CODE.
00663  M00S00654.xedit   +++|*
00664  M00S00655.xedit   +++|*         EXIT   PREFIX TABLE IS PUT IN REMOTE BLOCK *PREFIX*.
00665  M00S00656.xedit   +++|
00666  M00S00657.xedit   +++|          PURGMAC PREFIX
00667  M00S00658.xedit   +++|
00668  M00S00659.xedit   +++| PREFIX   MACRO  CHARS
00669  M00S00660.xedit   +++|          LOCAL  A,B
00670  M00S00661.xedit   +++| A BSS 0
00671  M00S00662.xedit   +++| B MICRO 1,,Z_CHARS_Z
00672  M00S00663.xedit   +++| C MICCNT B
00673  M00S00664.xedit   +++| . IFPL C-2
00674  M00S00665.xedit   +++| PREFIX RMT
00675  M00S00666.xedit   +++|  VFD 42/A
00676  M00S00667.xedit   +++|  CHAR (VFD 18/0),CHARS
00677  M00S00668.xedit   +++|  RMT
00678  M00S00669.xedit   +++| HELPSP   RMT
00679  M00S00670.xedit   +++|  CHAR (VFD 6/0),CHARS
00680  M00S00671.xedit   +++|  VFD 30/5H*****
00681  M00S00672.xedit   +++|  CHAR  (VFD 18/0),(//_CHARS)
00682  M00S00673.xedit   +++|  VFD 6/0
00683  M00S00674.xedit   +++|  RMT
00684  M00S00675.xedit   +++| . ELSE
00685  M00S00676.xedit   +++| PREFIX RMT
00686  M00S00677.xedit   +++|  VFD     42/A,18/1R_CHARS
00687  M00S00678.xedit   +++|  IFLE    1R_CHARS,26D,1
00688  M00S00679.xedit   +++|  VFD     42/A,12/76B,6/1R_CHARS
00689  M00S00680.xedit   +++|  RMT
00690  M00S00681.xedit   +++| HELPSP   RMT
00691  M00S00682.xedit   +++|  VFD 6/1R_CHARS,30/5H*****,18/1R_CHARS,6/0
00692  M00S00683.xedit   +++|  VFD 6/1R_CHARS,30/5H*****,12/76B,6/1R_CHARS,6/0
00693  M00S00684.xedit   +++|  RMT
00694  M00S00685.xedit   +++| . ENDIF
00695  M00S00686.xedit   +++|          ENDM   PREFIX
00696  M00S00687.xedit   +++| SPECIAL  SPACE  4,10
00697  M00S00688.xedit   +++|**        SPECIAL - DEFINE SPECIAL COMMANDS (1 CHARACTER).
00698  M00S00689.xedit   +++|*
00699  M00S00690.xedit   +++|*
00700  M00S00691.xedit   +++|*         SPECIAL  CHARS
00701  M00S00692.xedit   +++|*
00702  M00S00693.xedit   +++|*         ENTRY  *CHARS* = SPECIAL COMMAND CHARACTER.
00703  M00S00694.xedit   +++|*                IF THE PARAMETER CONTAINS MORE THAN 1 CHARACTER, THE
00704  M00S00695.xedit   +++|*                 MACRO WILL ASSUME THAT THE CHARACTER NEEDS TO BE
00705  M00S00696.xedit   +++|*                 PRESET AND WILL GENERATE THE PROPER PRESET CODE.
00706  M00S00697.xedit   +++|*                A SPECIAL COMMAND CANNOT BE ALPHABETIC.
00707  M00S00698.xedit   +++|
00708  M00S00699.xedit   +++|          PURGMAC SPECIAL
00709  M00S00700.xedit   +++|
00710  M00S00701.xedit   +++| SPECIAL  MACRO  CHARS
00711  M00S00702.xedit   +++|          LOCAL  A,B
00712  M00S00703.xedit   +++| A BSS 0
00713  M00S00704.xedit   +++| B MICRO 1,,Z_CHARS_Z
00714  M00S00705.xedit   +++| C MICCNT B
00715  M00S00706.xedit   +++| . IFPL C-2
00716  M00S00707.xedit   +++| SPECIAL RMT
00717  M00S00708.xedit   +++|  VFD 42/A
00718  M00S00709.xedit   +++|  CHAR (VFD 18/0),CHARS
00719  M00S00710.xedit   +++|  RMT
00720  M00S00711.xedit   +++| HELPSP RMT
00721  M00S00712.xedit   +++|  CHAR (VFD 6/0),CHARS
00722  M00S00713.xedit   +++|  CHAR (VFD 48/0),(//_CHARS)
00723  M00S00714.xedit   +++|  VFD 6/0
00724  M00S00715.xedit   +++|  RMT
00725  M00S00716.xedit   +++| . ELSE
00726  M00S00717.xedit   +++| SPECIAL RMT
00727  M00S00718.xedit   +++|  VFD 42/A,18/1R_CHARS
00728  M00S00719.xedit   +++|  IFLE 1R_CHARS,26D,1
Line S00720 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00729  M01S00720.v23l617 ---| 1 ERR ILLEGAL TO HAVE SPECIAL COMMAND BE ALPHABETIC.
Line S00004 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00730  M01S00004.v23l617 +++| 1 ERR INCORRECT TO HAVE SPECIAL COMMAND BE ALPHABETIC.
00731  M00S00721.xedit   +++|  RMT
00732  M00S00722.xedit   +++| HELPSP RMT
00733  M00S00723.xedit   +++|  VFD 6/1R_CHARS,48/1R_CHARS,6/0
00734  M00S00724.xedit   +++|  RMT
00735  M00S00725.xedit   +++| . ENDIF
00736  M00S00726.xedit   +++|          ENDM   SPECIAL
00737  M00S00727.xedit   +++|          SPACE  4
00738  M00S00728.xedit   +++|**        INITIALIZE -HELPSP- REMOTE BLOCK.
00739  M00S00729.xedit   +++|*
00740  M00S00730.xedit   +++|
00741  M00S00731.xedit   +++|
00742  M00S00732.xedit   +++| HELPSP   RMT
00743  M00S00733.xedit   +++|          VFD    36/6H*****A,18/1RA,6/0  A POSTFIX
00744  M00S00734.xedit   +++|          VFD    36/6H*****W,18/1RW,6/0  W POSTFIX
00745  M00S00735.xedit   +++|          RMT
00746  M00S00736.xedit   +++|          TITLE  FETS AND BUFFERS (CODED AND STRING).
00747  M00S00737.xedit   +++|*         FETS
00748  M00S00738.xedit   +++|
00749  M00S00739.xedit   +++| CFET     BSS    0           COPY FET FOR *CFF*
00750  M00S00740.xedit   +++| SFET     BSS    0           SCRATCH FET FOR STATUS MACRO
00751  M00S00741.xedit   +++| PFET     BSS    0           SCRATCH FET FOR PFM ROUTINES
00752  M00S00742.xedit   +++| FT       BSS    0           SCRATCH FET FOR PFM ROUTINES
00753  M00S00743.xedit   +++|          CON    1
00754  M00S00744.xedit   +++|          VFD    12/,6/4,18/50,6/7,18/BUFB
00755  M00S00745.xedit   +++|          CON    BUFB        FET USED BY *CFF* FOR FAST COPIES
00756  M00S00746.xedit   +++|          CON    BUFB           OUT
00757  M00S00747.xedit   +++|          CON    BUFB+BUFBL  MUST AGREE WITH INCOMING EDIT FILE
00758  M00S00748.xedit   +++|          VFD    60/
00759  M00S00749.xedit   +++|          VFD    60/
00760  M00S00750.xedit   +++|          VFD    60/
00761  M00S00751.xedit   +++|          VFD    60/         PFN
Line S00752 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00762  M01S00752.v23l617 ---|          VFD    60/         USER NUMBER
Line S00005 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00763  M01S00005.v23l617 +++|          VFD    60/         USER NAME
00764  M00S00753.xedit   +++|          VFD    42/         PASSWORD
00765  M00S00754.xedit   +++|          VFD    18/ERR      ERROR ADDRESS
00766  M00S00755.xedit   +++|          VFD    60/         CONTROL WORD
00767  M00S00756.xedit   +++|
00768  M00S00757.xedit   +++| FFET     BSS    0           ADDRESS OF FIRST ACTUAL FET
00769  M00S00758.xedit   +++|*                            ALL FETS UNTIL LFET MUST BE 7 WORDS LONG
00770  M00S00759.xedit   +++|
00771  M00S00760.xedit   +++| FTI      BSS    0
00772  M00S00761.xedit   +++| INPUT    FILEC  BUFI,BUFIL,FET=7  INPUT FET
00773  M00S00762.xedit   +++|
00774  M00S00763.xedit   +++| FTO      BSS    0
00775  M00S00764.xedit   +++| OUTPUT   FILEC  BUFO,BUFOL,FET=7  OUTPUT FET
00776  M00S00765.xedit   +++|
00777  M00S00766.xedit   +++| FTD      BSS    0
00778  M00S00767.xedit   +++| SCRD     FILEC  BUFD,BUFDL,FET=7  COPY FET
00779  M00S00768.xedit   +++|
00780  M00S00769.xedit   +++|* RFET    FILEC  RBUF,BUFRL,ERP,FET=7  FET IN OVERLAY (OVL2)
00781  M00S00770.xedit   +++|
00782  M00S00771.xedit   +++| E.IN     BSS    0
00783  M00S00772.xedit   +++| FTB      BSS    0
00784  M00S00773.xedit   +++| SCRB     FILEC  BUFB,BUFBL,FET=7,EPR  INCOMING EDIT FILE
00785  M00S00774.xedit   +++|
00786  M00S00775.xedit   +++| E.OUT    BSS    0
00787  M00S00776.xedit   +++| FTA      BSS    0
00788  M00S00777.xedit   +++| SCRA     FILEC  BUFA,BUFAL,FET=7,EPR  OUTGOING EDIT FILE
00789  M00S00778.xedit   +++|
00790  M00S00779.xedit   +++| LFET     BSS    0           ADDRESS OF LAST FET + 7
00791  M00S00780.xedit   +++|
00792  M00S00781.xedit   +++|*         INPUT DEVICE DEFINITIONS.
00793  M00S00782.xedit   +++|
00794  M00S00783.xedit   +++| I        DEVICE INPUT,ON    MAIN INPUT DEVICE
00795  M00S00784.xedit   +++|
00796  M00S00785.xedit   +++| P        DEVICE             PREVIOUS COMMAND BUFFER
00797  M00S00786.xedit   +++|
00798  M00S00787.xedit   +++| S        DEVICE INPUT,,POP  SPECIAL INPUT MODE ESCAPE
00799  M00S00788.xedit   +++|
00800  M00S00789.xedit   +++| Y        DEVICE             Y/Z COMMAND BUFFER
00801  M00S00790.xedit   +++|
00802  M00S00791.xedit   +++|          PURGMAC  DEVICE    VOID USAGE OF MACRO
00803  M00S00792.xedit   +++|
00804  M00S00793.xedit   +++|*         OTHER CODED BUFFERS.
00805  M00S00794.xedit   +++|
00806  M00S00795.xedit   +++| D.LINE   BSSZ   33D         DATA LINE BUFFER
00807  M00S00796.xedit   +++|
00808  M00S00797.xedit   +++| E.LINE   BSSZ   33D         EDIT LINE BUFFER
00809  M00S00798.xedit   +++|
00810  M00S00799.xedit   +++|*         BUFFERS (STRING)
00811  M00S00800.xedit   +++|
00812  M00S00801.xedit   +++|          VFD    12/2000B,30/0,18/-1  CHAR POINTER AND DELIMITER
00813  M00S00802.xedit   +++| C.STR    VFD    2/3,*P/     END OF LINE MARKER
00814  M00S00803.xedit   +++|          BSSZ   MAXWD-1     COMMAND STRING BUFFER
00815  M00S00804.xedit   +++|          VFD    2/3,*P/     END OF LINE MARKER
00816  M00S00805.xedit   +++|
00817  M00S00806.xedit   +++|          DATA   0           LINE WIDTH
00818  M00S00807.xedit   +++| D.STR    BSSZ   MAXWD       DATA STRING BUFFER
00819  M00S00808.xedit   +++| D.STRL   EQU    *-D.STR     DATA STRING BUFFER LENGTH
00820  M00S00809.xedit   +++|          VFD    2/3,*P/     END OF LINE MARKER
00821  M00S00810.xedit   +++|
00822  M00S00811.xedit   +++|          DATA   0           LINE WIDTH
00823  M00S00812.xedit   +++| E.STR    BSSZ   MAXWD       EDIT LINE BUFFER
00824  M00S00813.xedit   +++|          VFD    2/3,*P/     END OF LINE MARKER
00825  M00S00814.xedit   +++|          BSSZ   1           SCRATCH CELL FOR LOCATES
00826  M00S00815.xedit   +++|
00827  M00S00816.xedit   +++|*         NOTE- THIS ARRAY CONTAINS PART OF XEDIT PRESET CODE.
00828  M00S00817.xedit   +++|*         CURRENT LINE WIDTH ENDS AT THE LAST NON-BLANK CHARACTER.
00829  M00S00818.xedit   +++|
00830  M00S00819.xedit   +++|          DATA   0           CURRENT LINE WIDTH
00831  M00S00820.xedit   +++| E.SCR    BSSZ   MAXWD       SCRATCH BUFFER (MUST BE AFTER E.STR)
00832  M00S00821.xedit   +++|          VFD    2/3,*P/     END OF LINE MARKER
00833  M00S00822.xedit   +++|          BSSZ   1           SCRATCH CELL FOR LOCATE
00834  M00S00823.xedit   +++|          TITLE  STORAGE ALLOCATION.
00835  M00S00824.xedit   +++|
00836  M00S00825.xedit   +++|*         STRING FIELD POINTERS - MAINTAIN ORDER.
00837  M00S00826.xedit   +++|
00838  M00S00827.xedit   +++| P1LP     DATA   0           STRING FIELD PARAMETERS
00839  M00S00828.xedit   +++| P1RP     DATA   0           PLEASE MAINTAIN ORDER
00840  M00S00829.xedit   +++| P2LP     DATA   0
00841  M00S00830.xedit   +++| P2RP     DATA   0
00842  M00S00831.xedit   +++| P3LP     DATA   0
00843  M00S00832.xedit   +++| P3RP     DATA   0
00844  M00S00833.xedit   +++|
00845  M00S00834.xedit   +++|*         EDIT LINE MODE CONTROL - PLEASE MAINTAIN ORDER.
00846  M00S00835.xedit   +++|
00847  M00S00836.xedit   +++| E.NMODE  DATA   0           EDIT - NEEDED MODE FOR LINE
00848  M00S00837.xedit   +++| E.CMODE  DATA   0           EDIT - CURRENT MODE
00849  M00S00838.xedit   +++| E.LMOD   DATA   0           EDIT - LINE MODIFICATION FLAG
00850  M00S00839.xedit   +++|
00851  M00S00840.xedit   +++|*         FILE NAME CELLS.
00852  M00S00841.xedit   +++|
00853  M00S00842.xedit   +++| COPY     DATA   0           NAME OF LAST COPY FILE
00854  M00S00843.xedit   +++| IFN      DATA   0           CURRENT FILE NAME PARAMETER
00855  M00S00844.xedit   +++| IRFN     DATA   0           FILE TO READ FROM IF FS = .FALSE.
00856  M00S00845.xedit   +++| ISFN     DATA   0           STARTING FILE NAME (EDITFIL)
00857  M00S00846.xedit   +++| LFN      DATA   0           LOGICAL FILE NAME
00858  M00S00847.xedit   +++|
00859  M00S00848.xedit   +++|*         MARGIN CONTROLS.
00860  M00S00849.xedit   +++|
00861  M00S00850.xedit   +++| IW       BSS    0
00862  M00S00851.xedit   +++| RMARG    CON    160         DEFAULT RIGHT MARGIN
00863  M00S00852.xedit   +++| LMW      CON    E.STR-1     * MAINTAIN ORDER OF NEXT 2
00864  M00S00853.xedit   +++| RMW      CON    E.STR+160   * WINDOW MARGINS
00865  M00S00854.xedit   +++| RTWD     DATA   0           VALUE OF RIGHT WINDOW MARGIN
00866  M00S00855.xedit   +++|
00867  M00S00856.xedit   +++|*         MISCELLANEOUS CELLS.
00868  M00S00857.xedit   +++|
00869  M00S00858.xedit   +++| AS       CON    0           0 = NO ASCII, IF *ASC* THEN RESTORE AT END
00870  M00S00859.xedit   +++| BATCH    DATA   0           .LT. 0 IF USER IS *BCOT*
00871  M00S00860.xedit   +++|                             .EQ. 0 IF USER IS *TXOT*
00872  M00S00861.xedit   +++|                             .GT. 0 IF USER SELECTED *B* OPTION
00873  M00S00862.xedit   +++| CHARSFT  BSSZ   1           SHIFT FOR ICH. SET IN PRESET
00874  M00S00863.xedit   +++| COMMAND  DATA   0           COMMAND DESCRIPTOR WORD
00875  M00S00864.xedit   +++| C.ON     CON    I.DEV       POINTER TO CURRENT INPUT DEVICE
00876  M00S00865.xedit   +++| DF       CON    0           * MAINTAIN ORDER OF *DF* AND *DR*
00877  M00S00866.xedit   +++| DR       CON    0           * (DELETE EOF/EOR COUNTERS)
00878  M00S00867.xedit   +++| ERR      BSSZ   5           PFM ERROR MESSAGES
00879  M00S00868.xedit   +++| EXPLAIN  VFD    12/2000B,*P/EXPLAIN ERROR MESSAGE POINTERS
00880  M00S00869.xedit   +++| EXTA     DATA   0           EXIT MODE FLAG
00881  M00S00870.xedit   +++| FS       CON    0           .TRUE. (NEG.) IF READING OFF SCRATCH FILES
00882  M00S00871.xedit   +++| GLOBAL   DATA   -1          GLOBAL CHARACTER FOR STRING SEARCHES
00883  M00S00872.xedit   +++| LNFLAG   DATA   -1          NEG. - LINE NUMBER MODE, POS - WHERE MODE
00884  M00S00873.xedit   +++| INDEX    DATA   0           ADDRESS OF COMMAND DESCRIPTOR WORD
00885  M00S00874.xedit   +++| INITZ    DATA   0           NON-ZERO WHEN PRESET IS COMPLETE
00886  M00S00875.xedit   +++| INPCHAR  CON    -1          INPUT MODE ESCAPE CHARACTER
00887  M00S00876.xedit   +++| INPMODE  CON    1           -1 IF IN INPUT MODE
00888  M00S00877.xedit   +++| ITOGGLF  DATA   -1          * MAINTAIN ORDER OF *ITOGGLF/ITOGGLR*
00889  M00S00878.xedit   +++| ITOGGLR  DATA   -1          * (PRINT EOR/EOR MESSAGE FLAGS)
00890  M00S00879.xedit   +++| IWHERE   CON    1           LINE COUNTER
00891  M00S00880.xedit   +++| MCOUNT   DATA   0           COUNT OF SUCCESSFUL LOCATES (PER CMD)
00892  M00S00881.xedit   +++| NOMOD    DATA   -1          .TRUE. (NEG) IF NO FILE MODS THIS PASS
00893  M00S00882.xedit   +++| NUMS     BSSZ   NTABS+1     STORAGE FOR PARAMETERS
00894  M00S00883.xedit   +++| NXTLINE  CON    0           OPTIONAL LINE NUMBER VALUE (IN CMDS)
00895  M00S00884.xedit   +++| PREFIX   CON    1BS1        COMMAND MODIFIER BITS (SEE BELOW)
00896  M00S00885.xedit   +++| PROMPT   CHAR   (VFD 6/0),QM.  TTY SPECIAL INPUT PROMPT
00897  M00S00886.xedit   +++|          CHAR   (VFD 6/0),QM.
00898  M00S00887.xedit   +++|          VFD    6/55B,18/0001B,24/0  SET NO <CR> CONTROL BYTE
00899  M00S00888.xedit   +++| RC       DATA   -1          .TRUE. (NEG) IF NO DATA READ (RDF/WTF)
00900  M00S00889.xedit   +++| SCOUNT   DATA   0           SLASH PREFIX COUNT
00901  M00S00890.xedit   +++| SKPCNT   DATA   0           SKIP COUNT FOR *-* COMMAND
00902  M00S00891.xedit   +++|
00903  M00S00892.xedit   +++|**        SPCP   - SPECIFIED PARAMETERS.
00904  M00S00893.xedit   +++|*T        1/  W, 1/  P, 1/  A, 57/  UNUSED
Figure

029 UNUSED3056575859 UNUSED A P W

00905  M00S00894.xedit   +++|*
00906  M00S00895.xedit   +++|*         W = 1 - WINDOW WAS SPECIFIED (ON A COMMAND).
Line S00896 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00907  M01S00896.v23l617 ---|*         P = 1 - *P* OPTION SPECIFIED (ON CONTROL STATEMENT).
Line S00006 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00908  M01S00006.v23l617 +++|*         P = 1 - *P* OPTION SPECIFIED (ON *XEDIT* COMMAND).
00909  M00S00897.xedit   +++|*         A = 1 - FILE IS DIRECT ACCESS (ONLY VALID IF *P*
00910  M00S00898.xedit   +++|*                 OPTION SPECIFIED).
00911  M00S00899.xedit   +++| SPCP     DATA   0
00912  M00S00900.xedit   +++|
00913  M00S00901.xedit   +++| TABCHAR  DATA   -1          * MAINTAIN ORDER OF TABCHAR/TABS
00914  M00S00902.xedit   +++| TABS     CON    11D,18,30D  * (TABCHAR AND INITIAL TAB SETTINGS)
00915  M00S00903.xedit   +++|          BSSZ   NTABS-2     * ZERO REST OF TABS + 1 END MARKER
00916  M00S00904.xedit   +++| TLX      CON    0           TELEX INTERRUPT FLAG
00917  M00S00905.xedit   +++| TRIM     DATA   0           .LT. 0 IF TRIM OPTION SET
00918  M00S00906.xedit   +++| TTYIN    CON    0           .NZ. IF NOT *TTY* INPUT FILE
00919  M00S00907.xedit   +++| TSTATUS  BSSZ   2           DATA RETURN FROM *TSTATUS*
00920  M00S00908.xedit   +++| UPDATE   DATA   -1          NEG. IF UPDATING EDIT FILE
00921  M00S00909.xedit   +++| VERIFY   DATA   -1          * MAINTAIN ORDER OF VERIFY FLAGS
00922  M00S00910.xedit   +++| XVERIFY  DATA   -1          * .TRUE. (NEGATIVE) IF VERIFYING
00923  M00S00911.xedit   +++|          IF     DEF,TIMES,1
00924  M00S00912.xedit   +++| TIMING   BSSZ   3
00925  M00S00913.xedit   +++|          SPACE  4
00926  M00S00914.xedit   +++|*         MISCELLANEOUS MICROS.
00927  M00S00915.xedit   +++|
00928  M00S00916.xedit   +++| PTFT     DECMIC PTFT        PRIMARY FILE TYPE
00929  M00S00917.xedit   +++|          SPACE  4
00930  M00S00918.xedit   +++|**        DEFINITION OF COMMAND MODIFIER BITS (PREFIX WORD).
00931  M00S00919.xedit   +++|*
00932  M00S00920.xedit   +++|*         NOTE-  THIS WORD IS ZEROED BEFORE CRACKING ANY COMMAND.
00933  M00S00921.xedit   +++|
00934  M00S00922.xedit   +++|          QUAL   PREFIX
00935  M00S00923.xedit   +++| PLUS     EQU    1           + PREFIX CHARACTER
00936  M00S00924.xedit   +++| PLUS     DECMIC PLUS
00937  M00S00925.xedit   +++| A        EQU    2           A POSTFIX CHARACTER
00938  M00S00926.xedit   +++| A        DECMIC A
00939  M00S00927.xedit   +++| W        EQU    3           W POSTFIX CHARACTER
00940  M00S00928.xedit   +++| W        DECMIC W
00941  M00S00929.xedit   +++|          QUAL   *
00942  M00S00930.xedit   +++|          SPACE  4
00943  M00S00931.xedit   +++|**        DEFINITION OF SPECIAL BITS USED IN COMMAND DESCRIPTOR.
00944  M00S00932.xedit   +++|*
00945  M00S00933.xedit   +++|
00946  M00S00934.xedit   +++|
00947  M00S00935.xedit   +++|          QUAL   OPTS
00948  M00S00936.xedit   +++| CR       EQU    47D         COMMAND LEGAL IN CREATION MODE
00949  M00S00937.xedit   +++| F0       EQU    44D         NUMBER FIELD FORCE 0 IN INPUT MODE
00950  M00S00938.xedit   +++| LK       EQU    46D         COMMAND LEGAL IN LOOK MODE
00951  M00S00939.xedit   +++| IN       EQU    45D         COMMAND LEGAL IN INPUT MODE
00952  M00S00940.xedit   +++|          QUAL   *
00953  M00S00941.xedit   +++|          TITLE  TABLES AND MESSAGES.
00954  M00S00942.xedit   +++|**        CHARACTER SET REPLACEMENT TABLE.
00955  M00S00943.xedit   +++|*T        24/AS,  18/64 C,  18/63 C
Figure

017182963 C64 C3035365964 CAS

00956  M00S00944.xedit   +++|*
00957  M00S00945.xedit   +++|*         AS   = ASCII 6/12 CHARACTER SET.
00958  M00S00946.xedit   +++|*         64 C = 64 CHARACTER SET.
00959  M00S00947.xedit   +++|*         63 C = 63 CHARACTER SET.
00960  M00S00948.xedit   +++|*
00961  M00S00949.xedit   +++|
00962  M00S00950.xedit   +++| AM.      VFD    24/67B,18/67B,18/67B            AMPERSAND
00963  M00S00951.xedit   +++| BL.      VFD    24/7647B,18/7647B,18/7647B      BELL (EXTENDED MODE)
00964  M00S00952.xedit   +++| QM.      VFD    24/71B,18/71B,18/71B            QUESTION MARK
00965  M00S00953.xedit   +++| SH.      VFD    24/60B,18/60B,18/60B            SHARP
00966  M00S00954.xedit   +++| UA.      VFD    24/7402B,18/76B,18/76B          UP ARROW
00967  M00S00955.xedit   +++|
00968  M00S00956.xedit   +++|*         XEDIT MESSAGE TABLE.
00969  M00S00957.xedit   +++|*
00970  M00S00958.xedit   +++|*         NOTE-  ANY SECONDARY MESSAGES DEFINED WITHIN XEDIT
00971  M00S00959.xedit   +++|*         ARE ASSUMED TO BE IN OCTAL.
00972  M00S00960.xedit   +++|*         TOTAL NUMBER OF PRIMARY ERROR MESSAGES MUST BE LESS
00973  M00S00961.xedit   +++|*         THAN 40B.
00974  M00S00962.xedit   +++|
00975  M00S00963.xedit   +++| MESSAGE  EQU    *-1         BASE ADDR OF MESSAGE TABLE
00976  M00S00964.xedit   +++|          LOC    1
00977  M00S00965.xedit   +++| PFM.     CON    ERR         KLUDGE FOR PFM ERRORS
00978  M00S00966.xedit   +++| ARG.     ERRMSG 1,(ARGUMENT ERROR)
00979  M00S00967.xedit   +++|                             1 = INPUT MODE - COMMAND HAS COUNT (F0)
00980  M00S00968.xedit   +++| BFN.     ERRMSG 1,(BAD FILE NAME)
00981  M00S00969.xedit   +++|                             1 = BAD FILE NAME
00982  M00S00970.xedit   +++|                             2 = NO FILE NAME
00983  M00S00971.xedit   +++|                             3 = SPECIAL/RESERVED NAME
00984  M00S00972.xedit   +++| BTL.     ERRMSG 1,(BAD TEXT LINE ENCOUNTERED)
00985  M00S00973.xedit   +++| CNV.     ERRMSG 1,(COMMAND NOT VALID)
00986  M00S00974.xedit   +++|                             1 = IN CREATION MODE
Line S00975 Modification History
M01 (Removed by) xedit23
Seq #  *Modification Id* Act 
----------------------------+
00987  M01S00975.xedit23 ---|                             2 = IN LOOK MODE (NOT IMPLEMENTED YET)
Line S00001 Modification History
M01 (Added by) xedit23
Seq #  *Modification Id* Act 
----------------------------+
00988  M01S00001.xedit23 +++|                             2 = IN LOOK MODE
00989  M00S00976.xedit   +++|                             3 = IN INPUT MODE
00990  M00S00977.xedit   +++| DEL.     ERRMSG 1,(DELIMITER)
Line S00978 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00991  M01S00978.v23l617 ---| EMI.     ERRMSG 1,(FILE FUNCTION ILLEGAL)
Line S00007 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00992  M01S00007.v23l617 +++| EMI.     ERRMSG 1,(FILE FUNCTION INCORRECT)
00993  M00S00979.xedit   +++|                             1 = NOT ALLOWED TO CHANGE FILE
Line S00980 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00994  M01S00980.v23l617 ---|                             2 = *L* ILLEGAL ON DA/MT FILES
Line S00008 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00995  M01S00008.v23l617 +++|                             2 = *L* INCORRECT ON DA/MT FILES
00996  M00S00981.xedit   +++|*                PLEASE MAINTAIN ORDER OF NEXT TWO
00997  M00S00982.xedit   +++| EOF.     ERRMSG 0,(--EOF--)
00998  M00S00983.xedit   +++| EOR.     ERRMSG 0,(--EOR--)
00999  M00S00984.xedit   +++| EOI.     ERRMSG 2,(END OF FILE)
01000  M00S00985.xedit   +++| FCP.     ERRMSG 0,(FILENAM REWRITTEN)
01001  M00S00986.xedit   +++| FCR.     ERRMSG 0,(FILENAM CANNOT BE ACCESSED)
01002  M00S00987.xedit   +++|                             1 = FILE IS EXECUTE OR APPEND ONLY FILE
01003  M00S00988.xedit   +++|                             2 = FILE IS NOT LOCAL TO JOB
01004  M00S00989.xedit   +++|                             3 = FILE NOT IN PERM. FILE AREA
01005  M00S00990.xedit   +++| FLC.     ERRMSG 0,(FILENAM IS A LOCAL FILE)
01006  M00S00991.xedit   +++| FRP.     ERRMSG 0,(FILENAM REPLACED)
01007  M00S00992.xedit   +++| FSV.     ERRMSG 0,(FILENAM SAVED)
Line S00993 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01008  M01S00993.v23l617 ---| ILL.     ERRMSG 1,(ILLEGAL PARAMETER)
Line S00009 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01009  M01S00009.v23l617 +++| ILL.     ERRMSG 1,(INCORRECT PARAMETER)
01010  M00S00994.xedit   +++| LFM.     ERRMSG 0,(LOCAL FILE ERROR)
01011  M00S00995.xedit   +++| LNNF.    ERRMSG 1,(LINE NUMBER NOT FOUND, COMMAND NOT EXECUTED)
01012  M00S00996.xedit   +++| LNTL.    ERRMSG 1,(LINE NUMBER TOO LARGE)
01013  M00S00997.xedit   +++| NSC.     ERRMSG 1,(NO SUCH COMMAND)
01014  M00S00998.xedit   +++| SNF.     ERRMSG 1,(STRING NOT FOUND)
01015  M00S00999.xedit   +++| STK.     ERRMSG 1,(COMMAND STACKING ERROR)
01016  M00S01000.xedit   +++| TRUNC.   ERRMSG 1,(TRUNCATION AT       LINE)
01017  M00S01001.xedit   +++|          LOC    *O
01018  M00S01002.xedit   +++| ERRBASE  BSS    0           SET MESSAGE BASE ADDRESS
01019  M00S01003.xedit   +++|          ERRMSG             NOTE END OF TABLE
01020  M00S01004.xedit   +++|          TITLE  COMMAND PARSER - MAIN LOOP.
01021  M00S01005.xedit   +++| NCM      SPACE  4,20
01022  M00S01006.xedit   +++|**        NCM - GET NEXT COMMAND.
01023  M00S01007.xedit   +++|*
01024  M00S01008.xedit   +++|*         ENTRY  NONE.
01025  M00S01009.xedit   +++|*
01026  M00S01010.xedit   +++|*         EXIT   TO COMMAND PROCESSING ROUTINE AFTER PARSING
01027  M00S01011.xedit   +++|*                PARAMETERS AND HANDLING ERRORS.
01028  M00S01012.xedit   +++|*                (X1) = COMMAND DESCRIPTOR WORD.
01029  M00S01013.xedit   +++|*
01030  M00S01014.xedit   +++|*         USES   A - 1, 2, 3, 4, 5, 6, 7.
01031  M00S01015.xedit   +++|*                X - ALL.
01032  M00S01016.xedit   +++|*                B - 2, 3, 4, 5, 6, 7.
01033  M00S01017.xedit   +++|*
01034  M00S01018.xedit   +++|*         CALLS  CDD, SCD, VIS.
01035  M00S01019.xedit   +++|*
01036  M00S01020.xedit   +++|*         MACROS GETJA, WRITEO.
01037  M00S01021.xedit   +++|
01038  M00S01022.xedit   +++| NCM      BSS    0           ENTRY
01039  M00S01023.xedit   +++|          RJ     SCD         ASSURE CODED MODE AT START OF COMMAND
01040  M00S01024.xedit   +++|          IF     DEF,TIMES
01041  M00S01025.xedit   +++|          SA4    TIMING+1
01042  M00S01026.xedit   +++|          GETJA  TIMING      GET ELAPSED TIME
01043  M00S01027.xedit   +++|          SA1    A4
01044  M00S01028.xedit   +++|          IX1    X1-X4       ELAPSED TIME
01045  M00S01029.xedit   +++|          RJ     CDD         CONVERT
01046  M00S01030.xedit   +++|          WRITEO OUTPUT
01047  M00S01031.xedit   +++|          MX6    0           LINE FEED
01048  M00S01032.xedit   +++|          WRITEO X2
01049  M00S01033.xedit   +++|          ENDIF
01050  M00S01034.xedit   +++|
01051  M00S01035.xedit   +++|          SA1    C.STR-1     COMMAND LINE CONTROL WORD
01052  M00S01036.xedit   +++|          SA4    EXPLAIN     UPDATE EXPLAIN WORD
01053  M00S01037.xedit   +++|          R=     X6,M.CODED
01054  M00S01038.xedit   +++|          UX1    B7,X1       B7 = CHARACTER POINTER
01055  M00S01039.xedit   +++|          SA6    E.NMODE     SET MODE NEEDED TO CODED
01056  M00S01040.xedit   +++|          LE     B7,NCL      IF READ REQUIRED
01057  M00S01041.xedit   +++|          SA5    A1+B7
01058  M00S01042.xedit   +++|          BX6    X6-X6
01059  M00S01043.xedit   +++|          SA6    PREFIX      RESET PREFIX WORD
01060  M00S01044.xedit   +++|          SA2    XVERIFY
01061  M00S01045.xedit   +++|          AX4    12
01062  M00S01046.xedit   +++|          SB6    X1          B6 = DELIMITER CHARACTER
01063  M00S01047.xedit   +++|          BX7    X2
01064  M00S01048.xedit   +++|          PX6    B0,X4
01065  M00S01049.xedit   +++|          NG     X5,NCM22    IF AT END OF LINE (NO SUCH CMD)
01066  M00S01050.xedit   +++|          SA6    A4          REPLACE EXPLAIN WORD
01067  M00S01051.xedit   +++|          SA2    A5          GET FIRST CHARACTER OF NEW CMD
01068  M00S01052.xedit   +++|          SA7    VERIFY      SET VERIFY FLAG
01069  M00S01053.xedit   +++|          BX7    X7-X7
01070  M00S01054.xedit   +++|          SA7    SCOUNT      INITIALIZE SLASH COUNT
01071  M00S01055.xedit   +++|          NG     B6,NCM2     IF NO DELIMETER CHARACTER
01072  M00S01056.xedit   +++| NCM1     NG     X2,NCM2     IF END OF LINE REACHED
01073  M00S01057.xedit   +++|          SB5    X2
01074  M00S01058.xedit   +++|          SA2    A2+B1
01075  M00S01059.xedit   +++|          NE     B5,B6,NCM1  IF NOT DELIMITER CHARACTER
01076  M00S01060.xedit   +++|          SX6    B5+
01077  M00S01061.xedit   +++|          MX7    1           SET PSEUDO END OF LINE
01078  M00S01062.xedit   +++|          BX6    X6+X7
01079  M00S01063.xedit   +++|          SA6    A2-1
01080  M00S01064.xedit   +++|
01081  M00S01065.xedit   +++|*         PARSE PREFIX CHARACTERS.
01082  M00S01066.xedit   +++|
01083  M00S01067.xedit   +++| NCM2     SA3    PREFIXT-1
01084  M00S01068.xedit   +++|          BX6    X5
01085  M00S01069.xedit   +++|          SB6    X5          B6 = DELIMITER CHARACTER
01086  M00S01070.xedit   +++|          SA6    PREFIXU
01087  M00S01071.xedit   +++|          SA7    INDEX       CLEAR INDEX (TOPNULL 'P4 BUG)
01088  M00S01072.xedit   +++| NCM3     SA3    A3+B1
01089  M00S01073.xedit   +++|          SB3    X3
01090  M00S01074.xedit   +++|          NE     B3,B6,NCM3  IF NOT THIS PREFIX CHARACTER
01091  M00S01075.xedit   +++|          AX3    18
01092  M00S01076.xedit   +++|          SB6    X3
01093  M00S01077.xedit   +++|          ZR     B6,NCM4     IF NOT REALLY PREFIX CHARACTER
01094  M00S01078.xedit   +++|          SA5    A5+B1       PREPARE FOR NEXT CHARACTER
01095  M00S01079.xedit   +++|          JP     B6          PROCESS PREFIX CHARACTER
01096  M00S01080.xedit   +++|
01097  M00S01081.xedit   +++|*         CLOSE PREFIX PARSING.
01098  M00S01082.xedit   +++|
01099  M00S01083.xedit   +++| NCM4     SB3    2
01100  M00S01084.xedit   +++|          SX7    0           CLEAR ASSEMBLY
01101  M00S01085.xedit   +++|
01102  M00S01086.xedit   +++|*         BEGIN PARSING FOR LINE NUMBER.
01103  M00S01087.xedit   +++|
01104  M00S01088.xedit   +++| NCM5     SX0    X5-1R9-1
01105  M00S01089.xedit   +++|          SX2    X5-1R0
01106  M00S01090.xedit   +++|          BX0    -X2*X0
01107  M00S01091.xedit   +++|          PL     X0,NCM6     IF NOT A NUMBER
01108  M00S01092.xedit   +++|          LX0    B3,X7       *2
01109  M00S01093.xedit   +++|          IX7    X0+X7       *5
01110  M00S01094.xedit   +++|          SA5    A5+B1
01111  M00S01095.xedit   +++|          LX7    1           *10
01112  M00S01096.xedit   +++|          IX7    X7+X2
01113  M00S01097.xedit   +++|          EQ     NCM5        CHECK NEXT CHARACTER
01114  M00S01098.xedit   +++|
01115  M00S01099.xedit   +++|*         SAVE LINE NUMBER AND PARSE COMMAND.
01116  M00S01100.xedit   +++|
01117  M00S01101.xedit   +++| NCM6     MX6    1
01118  M00S01102.xedit   +++|          SA7    NXTLINE     SAVE NEXT LINE
01119  M00S01103.xedit   +++|          MX4    26
01120  M00S01104.xedit   +++|          MX3    -6
01121  M00S01105.xedit   +++|          NG     X5,NCM9     IF AT END OF LINE
01122  M00S01106.xedit   +++|          LX4    -5          POSITION MASK
01123  M00S01107.xedit   +++| NCM7     BX0    -X3*X5
01124  M00S01108.xedit   +++|          SB3    X0+4
01125  M00S01109.xedit   +++|          LX1    B3,X4
01126  M00S01110.xedit   +++|          PL     X1,NCM9     IF NO A-Z
01127  M00S01111.xedit   +++|          BX1    X3*X5       CHECK TO SEE IF ASCII
01128  M00S01112.xedit   +++|          ZR     X1,NCM8     IF UPPER CASE LETTER
01129  M00S01113.xedit   +++|          SX1    X1-7600B
01130  M00S01114.xedit   +++|          NZ     X1,NCM9     IF NOT LOWER CASE LETTER
01131  M00S01115.xedit   +++| NCM8     LX6    6
01132  M00S01116.xedit   +++|          BX6    X6+X0
01133  M00S01117.xedit   +++|          SA5    A5+1
01134  M00S01118.xedit   +++|          PL     X5,NCM7     IF NOT AT END OF LINE
01135  M00S01119.xedit   +++|
01136  M00S01120.xedit   +++|*         DETERMINE IF *W* POSTFIX, LEFT JUSTIFY COMMAND.
01137  M00S01121.xedit   +++|
01138  M00S01122.xedit   +++| NCM9     BX1    -X3*X6      GET LAST CHARACTER
01139  M00S01123.xedit   +++|          MX0    1
01140  M00S01124.xedit   +++|          SX7    1BS"W"
01141  M00S01125.xedit   +++|          SX4    X1-1RW
01142  M00S01126.xedit   +++|          ZR     X4,NCM10    IF W POSTFIX (W HAS JUSTIFICATION BIT)
01143  M00S01127.xedit   +++|          SB3    X1+
01144  M00S01128.xedit   +++|          SX7    1BS"A"
01145  M00S01129.xedit   +++|          NE     B3,B1,NCM11 IF NOT *A* POSTFIX
01146  M00S01130.xedit   +++| NCM10    SA4    PREFIX
01147  M00S01131.xedit   +++|          BX6    X3*X6       REMOVE POSTFIX
01148  M00S01132.xedit   +++|          BX7    X7+X4
01149  M00S01133.xedit   +++|          SA7    A4          REPLACE PREFIX WORD
01150  M00S01134.xedit   +++| NCM11    LX6    6           LEFT JUSTIFY
01151  M00S01135.xedit   +++|          PL     X6,NCM11    IF NOT LEFT JUSTIFIED
01152  M00S01136.xedit   +++|          BX6    -X0*X6      REMOVE JUSTIFICATION BIT
01153  M00S01137.xedit   +++|
01154  M00S01138.xedit   +++|*         SKIP BLANKS AND FIRST COMMA. STOPS ON FIRST NON-BLANK
01155  M00S01139.xedit   +++|*         CHARACTER OR ON SECOND COMMA.
01156  M00S01140.xedit   +++|*         ASSUMES X0 IS NEGATIVE AT ENTRY.
01157  M00S01141.xedit   +++|
01158  M00S01142.xedit   +++| NCM12    NG     X5,NCM14    IF END OF LINE
01159  M00S01143.xedit   +++|          SB3    X5-1R       0 = BLANK, 1 = COMMA
01160  M00S01144.xedit   +++|          ZR     B3,NCM13    IF BLANK
01161  M00S01145.xedit   +++|          NE     B3,B1,NCM14 IF NOT COMMA
01162  M00S01146.xedit   +++|          PL     X0,NCM14    IF SECOND COMMA
01163  M00S01147.xedit   +++|          SX0    0           SET COMMA ENCOUNTERED
01164  M00S01148.xedit   +++| NCM13    SA5    A5+B1
01165  M00S01149.xedit   +++|          EQ     NCM12       CHECK NEXT CHARACTER
01166  M00S01150.xedit   +++|
01167  M00S01151.xedit   +++|*         LOOK UP COMMAND IN COMMAND TABLE.
01168  M00S01152.xedit   +++|
01169  M00S01153.xedit   +++| NCM14    ZR     X6,NCM24    IF NO COMMAND
01170  M00S01154.xedit   +++|          SA4    JUMP-1
01171  M00S01155.xedit   +++|          SA6    JUMPX       PRESET COMMAND TABLE
01172  M00S01156.xedit   +++| NCM14.1  SA4    A4+B1       GET NEXT COMMAND
01173  M00S01157.xedit   +++|          IX3    X4-X6
01174  M00S01158.xedit   +++|          NG     X4,NCM14.1  IF DATA WORD
01175  M00S01159.xedit   +++|          NZ     X3,NCM14.1  IF NOT THIS ENTRY
01176  M00S01160.xedit   +++| NCM15    SA4    A4+B1
01177  M00S01161.xedit   +++|          PL     X4,NCM15    IF NOT DATA CELL ASSOCIATED WITH COMMA
01178  M00S01162.xedit   +++|          SX0    X4
01179  M00S01163.xedit   +++|
01180  M00S01164.xedit   +++|*         CODE IS REPLACE AFTER CREATION MODE IS EXITED
01181  M00S01165.xedit   +++|
01182  M00S01166.xedit   +++| NCMA     SA3    IWHERE
01183  M00S01167.xedit   +++|          EQ     NCM16       JUMP TO PRESET TEST
01184  M00S01168.xedit   +++|
01185  M00S01169.xedit   +++| NCM      RMT
01186  M00S01170.xedit   +++|          ZR     X0,NCM23    IF NO JUMP ADDRESS (NO SUCH COMMAND)
01187  M00S01171.xedit   +++|          SA3    UPDATE
01188  M00S01172.xedit   +++|          RMT
01189  M00S01173.xedit   +++|
01190  M00S01174.xedit   +++|          SX6    A4          SAVE INSTRUCTION INDEX
01191  M00S01175.xedit   +++|          BX3    X3+X4       CHECK LOOK COMMAND PERMISSION NECESSARY
01192  M00S01176.xedit   +++|          SA1    INPMODE
01193  M00S01177.xedit   +++|          BX7    X4          SAVE COPY OF COMMAND DATA WORD
01194  M00S01178.xedit   +++|          LX3    59-/OPTS/LK
01195  M00S01179.xedit   +++|          SA6    INDEX
01196  M00S01180.xedit   +++|          BX1    -X4*X1      NEG. IF IN INPUT AND COMMAND NOT OK
01197  M00S01181.xedit   +++|          LX1    59-/OPTS/IN
01198  M00S01182.xedit   +++|          SA7    COMMAND
01199  M00S01183.xedit   +++|          NG     X1,NCM20    IF NOT LEGAL IN INPUT MODE
01200  M00S01184.xedit   +++|          PL     X3,NCM21    IF NOT VALID IN LOOK MODE
01201  M00S01185.xedit   +++|          UX4    B6,X4       GET ARGUMENT DESCRIPTOR ADDRESS
01202  M00S01186.xedit   +++|          ZR     B6,PST      IF NO ARGUMENTS
01203  M00S01187.xedit   +++|          JP     B6+PRM.     PARSE PARAMETERS
01204  M00S01188.xedit   +++|
01205  M00S01189.xedit   +++|*         CREATION MODE CODE.
01206  M00S01190.xedit   +++|*         ENTRY   (X3) = IWHERE.
01207  M00S01191.xedit   +++|
01208  M00S01192.xedit   +++| NCM16    NG     X3,NCM18    IF IN CREATION MODE
01209  M00S01193.xedit   +++|          SA3    NCM17       GET INSTRUCTION REPLACEMENT WORD
01210  M00S01194.xedit   +++|          NO
01211  M00S01195.xedit   +++|          BX6    X3
01212  M00S01196.xedit   +++|          SA6    NCMA
01213  M00S01197.xedit   +++|          RJ     VIS         VOID INSTRUCTION STACK
01214  M00S01198.xedit   +++| NCM17    BSS    0
01215  M00S01199.xedit   +++| NCM      HEREL
01216  M00S01200.xedit   +++|          EQ     NCMA+1      JUMP INTO REQULAR CODE
01217  M00S01201.xedit   +++|
01218  M00S01202.xedit   +++| NCM18    ZR     X0,NCM23    IF NO SUCH COMMAND
01219  M00S01203.xedit   +++|          BX3    -X4*X3
01220  M00S01204.xedit   +++|          LX3    59-/OPTS/CR POSITION CREATION LEGAL STATUS
Line S01205 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01221  M01S01205.v23l617 ---|          NG     X3,NCM19    IF COMMAND INVALID IN CREATION MODE
Line S00010 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01222  M01S00010.v23l617 +++|          NG     X3,NCM19    IF COMMAND NOT ALLOWED IN CREATION MODE
01223  M00S01206.xedit   +++|          SA3    UPDATE
01224  M00S01207.xedit   +++|          EQ     NCMA+1      PROCESS COMMAND
01225  M00S01208.xedit   +++|
01226  M00S01209.xedit   +++|*         ERROR PROCESSING ROUTINES.
01227  M00S01210.xedit   +++|
01228  M00S01211.xedit   +++| NCM19    SB2    CNV.*100B+1 SET *NOT VALID* IN CREATION MODE
01229  M00S01212.xedit   +++|          EQ     NER         PROCESS ERROR
01230  M00S01213.xedit   +++|
01231  M00S01214.xedit   +++| NCM20    SB2    CNV.*100B+3 SET *NOT VALID* IN INPUT MODE
01232  M00S01215.xedit   +++|          EQ     NER         PROCESS ERROR
01233  M00S01216.xedit   +++|
01234  M00S01217.xedit   +++| NCM21    SB2    CNV.*100B+2 SET *NOT VALID* IN LOOK MODE
01235  M00S01218.xedit   +++|          EQ     NER         PROCESS ERROR
01236  M00S01219.xedit   +++|
01237  M00S01220.xedit   +++| NCM22    SA1    C.STR-1     SET READ REQUIRED
01238  M00S01221.xedit   +++|          PX6    B0,X1
01239  M00S01222.xedit   +++|          SA6    A1
01240  M00S01223.xedit   +++|
01241  M00S01224.xedit   +++| NCM23    SB2    NSC.        NO SUCH COMMAND
01242  M00S01225.xedit   +++|          EQ     NER         PROCESS ERROR
01243  M00S01226.xedit   +++|
01244  M00S01227.xedit   +++|*         IF NO COMMAND IS FOUND, CHECK FOR SPECIAL COMMANDS.
01245  M00S01228.xedit   +++|
01246  M00S01229.xedit   +++| NCM24    NG     X5,NCM28    IF END OF LINE (POSSIBLY FINDLN)
01247  M00S01230.xedit   +++|          SA4    SPCMDT-1
01248  M00S01231.xedit   +++|          BX6    X5
01249  M00S01232.xedit   +++|          SA6    SPCMDU
01250  M00S01233.xedit   +++|          SB3    X5
01251  M00S01234.xedit   +++| NCM25    SA4    A4+B1
01252  M00S01235.xedit   +++|          SB4    X4
01253  M00S01236.xedit   +++|          NE     B4,B3,NCM25 IF NO MATCH
01254  M00S01237.xedit   +++|          AX4    18
01255  M00S01238.xedit   +++|          SB4    X4
01256  M00S01239.xedit   +++|          ZR     X4,NCM23    IF NO SUCH COMMAND (NULL)
01257  M00S01240.xedit   +++|
01258  M00S01241.xedit   +++|*         SKIP BLANKS AND ONE COMMA.
01259  M00S01242.xedit   +++|
01260  M00S01243.xedit   +++| NCM26    SA5    A5+1        STEP OVER SPECIAL CHARACTER
01261  M00S01244.xedit   +++|          NG     X5,NCM27    IF END OF LINE
01262  M00S01245.xedit   +++|          SB2    X5-1R
01263  M00S01246.xedit   +++|          ZR     B2,NCM26    IF BLANK
01264  M00S01247.xedit   +++|          NE     B2,B1,NCM27 IF NOT COMMA
01265  M00S01248.xedit   +++|          ZR     X4,NCM27    IF SECOND COMMA
01266  M00S01249.xedit   +++|          MX4    0
01267  M00S01250.xedit   +++|          EQ     NCM26       CHECK NEXT CHARACTER
01268  M00S01251.xedit   +++|
01269  M00S01252.xedit   +++| NCM27    JP     B4          PROCESS SPECIAL COMMAND
01270  M00S01253.xedit   +++|
01271  M00S01254.xedit   +++|*         CHECK FOR FINDLN COMMAND, ELSE NO SUCH COMMAND.
01272  M00S01255.xedit   +++|
01273  M00S01256.xedit   +++| NCM28    SA1    NXTLINE
01274  M00S01257.xedit   +++|          SA2    IWHERE
01275  M00S01258.xedit   +++|          ZR     X1,NCM23    IF NOT TO FIND LINE NUMBER
01276  M00S01259.xedit   +++|          SA3    INPMODE
01277  M00S01260.xedit   +++|          NG     X2,NCM19    IF IN CREATION MODE
01278  M00S01261.xedit   +++|          BX6    X1
01279  M00S01262.xedit   +++|          MX7    0
01280  M00S01263.xedit   +++|          NG     X3,NCM20    IF IN INPUT MODE (CANNOT MOVE PTR)
01281  M00S01264.xedit   +++|          SA6    NUMS        MOVE PARAMETER
01282  M00S01265.xedit   +++|          SX6    FLN
01283  M00S01266.xedit   +++|          SA7    NXTLINE     CLEAR NXTLINE OPTION
01284  M00S01267.xedit   +++|          SA6    COMMAND
01285  M00S01268.xedit   +++|          EQ     PRM.+NONE   PROCESS COMMAND
01286  M00S01269.xedit   +++|
01287  M00S01270.xedit   +++|PRM       SPACE  4,20
01288  M00S01271.xedit   +++|**        PRM - COMMAND PARAMETER CRACKER.
01289  M00S01272.xedit   +++|*
01290  M00S01273.xedit   +++|*         ENTRY  (A5) = ADDRESS OF CURRENT CHARACTER.
01291  M00S01274.xedit   +++|*                (X5) = CURRENT CHARACTER.
01292  M00S01275.xedit   +++|*                (X7) = COMMAND DESCRIPTOR WORD.
01293  M00S01276.xedit   +++|*
01294  M00S01277.xedit   +++|*         EXIT   IF NO ERROR, TO *PST* OR *PST7*.
01295  M00S01278.xedit   +++|*                IF ERROR, TO *NER* TO PROCESS ERROR.
01296  M00S01279.xedit   +++|*
01297  M00S01280.xedit   +++|*         USES   A - ALL.
01298  M00S01281.xedit   +++|*                X - ALL.
01299  M00S01282.xedit   +++|*                B - 2, 3, 4, 5, 6, 7.
01300  M00S01283.xedit   +++|*
01301  M00S01284.xedit   +++|*         CALLS  GFN, VAL.
01302  M00S01285.xedit   +++|*
01303  M00S01286.xedit   +++|*         MACROS ERROR, GET, MEMORY, PARAM, RETURN, WRITEC.
01304  M00S01287.xedit   +++|*
01305  M00S01288.xedit   +++|*         NOTES  THIS ROUTINE INITIALIZES PARAMETERS FOR THE VARIOUS
01306  M00S01289.xedit   +++|*                ROUTINES AND IS ENTERED AT SEVERAL PLACES LABELED
01307  M00S01290.xedit   +++|*                AS SUCH.
01308  M00S01291.xedit   +++|
01309  M00S01292.xedit   +++|
01310  M00S01293.xedit   +++| PRMA     VFD    27/0,10/-0,2/0,1/1,*P/  NUMBER * MASK
01311  M00S01294.xedit   +++| PRMB     BSSZ   1           SCRATCH CELL AVAILABLE FOR USE BY PARSER
01312  M00S01295.xedit   +++| PRMC     BSS    0
01313  M00S01296.xedit   +++|          LOC    0
01314  M00S01297.xedit   +++|          DATA   1RL         LOCAL FILE
01315  M00S01298.xedit   +++|          DATA   1RR         REPLACE FILE
01316  M00S01299.xedit   +++|          DATA   1RS         SAVE FILE
01317  M00S01300.xedit   +++|          DATA   1RC         COPYBACK FILE
01318  M00S01301.xedit   +++|          LOC    *O
01319  M00S01302.xedit   +++| PRMCL    EQU    *-PRMC
01320  M00S01303.xedit   +++|
01321  M00S01304.xedit   +++| PRM.     EQU    *-1         BASE ADDRESS
01322  M00S01305.xedit   +++|
01323  M00S01306.xedit   +++|**        STRING PARAMETERS.
01324  M00S01307.xedit   +++|*
01325  M00S01308.xedit   +++|*         CAN BE ONE OF SEVERAL FORMS WHICH ARE-
01326  M00S01309.xedit   +++|*         1.  /STRING...STRING/COUNT   (COUNT OPTIONAL)
01327  M00S01310.xedit   +++|*         2.  /STRING/COUNT            (COUNT OPTIONAL)
01328  M00S01311.xedit   +++|*         3.  /STRING/STRING/COUNT     (COUNT OPTIONAL)
01329  M00S01312.xedit   +++|*         4.  COUNT                    (COUNT OPTIONAL)
01330  M00S01313.xedit   +++|*
01331  M00S01314.xedit   +++|*         THE OPTIONS ARE SELECTED BY USING THE MODIFIER FIELD IN THE
01332  M00S01315.xedit   +++|*         COMMAND DESCRIPTOR WORD. FOR MOST COMMANDS, THE 18 BIT
01333  M00S01316.xedit   +++|*         FIELD CONTAINS ANY DATA NEEDED BY EITHER THE  COMMAND
01334  M00S01317.xedit   +++|*         PARSER OR THE COMMAND ROUTINE. HOWEVER- IN THE CASE
01335  M00S01318.xedit   +++|*         OF ANY COMMAND USING THE STRING AND/OR FILE PARAMETER
01336  M00S01319.xedit   +++|*         SPECIFICATION, THE MODIFIER FIELD INFORMATION IS FIXED
01337  M00S01320.xedit   +++|*         AND CONTAINS THE FOLLOWING INFORMATION.
01338  M00S01321.xedit   +++|*
01339  M00S01322.xedit   +++|*         BIT 16 = FIRST STRING NECESSARY (CAN BE NULL)
01340  M00S01323.xedit   +++|*         BIT 15 = SECOND STRING NEEDED (CAN BE NULL)
01341  M00S01324.xedit   +++|*         BIT 14 = CHECK FOR SPECIAL ... OR --- IN FIRST STRING
01342  M00S01325.xedit   +++|*         BIT 13 = --- OPTION LEGAL
01343  M00S01326.xedit   +++|*         BIT 12 = UNUSED (BUT ONCE WAS- CLEAR COMMANDS IF USED)
01344  M00S01327.xedit   +++|*         BITS 11-5 = UNUSED.
01345  M00S01328.xedit   +++|*         BIT 4 = NO FILE NAME LEGAL.
01346  M00S01329.xedit   +++|*         BIT 3 = SPECIAL FILE NAMES LEGAL.
01347  M00S01330.xedit   +++|*         BITS 2-0 = POST FILE NAME PARAMETER OPTION.
01348  M00S01331.xedit   +++|*
01349  M00S01332.xedit   +++|*         NOTE- ALL STRING PARSES CALL SUBROUTINE *ASF* TO PRESET
01350  M00S01333.xedit   +++|*         THE CELLS NEEDED BY *LOC*.
01351  M00S01334.xedit   +++|
01352  M00S01335.xedit   +++|
01353  M00S01336.xedit   +++| PRM1     PARAM  STRING
01354  M00S01337.xedit   +++|          SA1    COMMAND     OBTAIN DESCRIPTOR
01355  M00S01338.xedit   +++|          BX6    X6-X6       CLEAR CELLS
01356  M00S01339.xedit   +++|          SA6    P3RP        CLEAR STRING POINTERS
01357  M00S01340.xedit   +++|          SA6    A6-B1
01358  M00S01341.xedit   +++|          SA6    A6-B1       P2RP
01359  M00S01342.xedit   +++|          SA6    A6-B1
01360  M00S01343.xedit   +++|          BX7    X1
01361  M00S01344.xedit   +++|          SA6    A6-B1       P1RP
01362  M00S01345.xedit   +++|          SA6    A6-B1
01363  M00S01346.xedit   +++|          SA6    NUMS        CLEAR COUNT FIELD
01364  M00S01347.xedit   +++|          SA6    PRMB        SET POSITIVE LOGIC
01365  M00S01348.xedit   +++|          LX7    59-34       MODIFIER BIT 16 AT SIGN BIT
01366  M00S01349.xedit   +++|          SA0    B0          SET NO DELIMITER MESSAGE NEEDED
01367  M00S01350.xedit   +++|          SB6    X5-1R,
01368  M00S01351.xedit   +++|          NG     X5,PRM9     IF END OF LINE (NO STRING)
01369  M00S01352.xedit   +++|          SA4    PRMA
01370  M00S01353.xedit   +++|          ZR     B6,PRM9     IF NULL PARAMETER (IE. *,,*)
01371  M00S01354.xedit   +++|          SB3    X5          DELIMITER CHARACTER
01372  M00S01355.xedit   +++|          SX6    A5+B1       SAVE POINTER TO FIRST CHARACTER
01373  M00S01356.xedit   +++|          LX4    B3
01374  M00S01357.xedit   +++|          SB5    X6          ADDRESS OF FIRST CHARACTER
01375  M00S01358.xedit   +++|          NG     X4,PRM9     IF CHARACTER IS 0-9 OR *
01376  M00S01359.xedit   +++|          SA6    P1LP
01377  M00S01360.xedit   +++|
01378  M00S01361.xedit   +++|*         PARSE FIRST STRING FIELD.
01379  M00S01362.xedit   +++|
01380  M00S01363.xedit   +++| PRM2     SA5    A5+B1       SEARCH FOR CLOSING DELIMITER
01381  M00S01364.xedit   +++|          NG     X5,PRM3     IF END OF LINE FOUND
01382  M00S01365.xedit   +++|          SB4    X5
01383  M00S01366.xedit   +++|          NE     B3,B4,PRM2  IF NOT DELIMITER
01384  M00S01367.xedit   +++|          SX6    A5          SET LWA+1 FOR FIELD
01385  M00S01368.xedit   +++|          SA5    A5+B1       STEP PAST DELIMITER
01386  M00S01369.xedit   +++|          SA6    A6+B1       CLOSING PARAMETER
01387  M00S01370.xedit   +++|          SB6    X6
01388  M00S01371.xedit   +++|          SA1    COMMAND
01389  M00S01372.xedit   +++|          LX4    B1,X7       BIT 15
01390  M00S01373.xedit   +++|          SX6    A5          POINTER FOR POSSIBLE SECOND FIELD
01391  M00S01374.xedit   +++|          PL     X4,PRM6     IF NOT SUPPOSED TO HAVE 2 STRING
01392  M00S01375.xedit   +++|          SA6    P3LP        SAVE POINTER TO SECOND FIELD
01393  M00S01376.xedit   +++|          EQ     PRM4        PARSE SECOND STRING
01394  M00S01377.xedit   +++|
01395  M00S01378.xedit   +++| PRM3     SX6    A5          SAVE POINTER
01396  M00S01379.xedit   +++|          SA0    B1          SET DELIMITER MESSAGE NECESSARY
01397  M00S01380.xedit   +++|          SA6    A6+B1
01398  M00S01381.xedit   +++|          LX4    B1,X7       SHIFT MODIFIER BIT 15 (2 STRINGS)
01399  M00S01382.xedit   +++|          NG     X4,PRM13    IF 2 STRINGS NEEDED (ARG ERROR)
01400  M00S01383.xedit   +++|          EQ     PRM6        ONE STRING FIELD PRESENT
01401  M00S01384.xedit   +++|
01402  M00S01385.xedit   +++| PRM4     SX6    A5
01403  M00S01386.xedit   +++|          SA0    B1          SET DELIMITER (JUST IN CASE)
01404  M00S01387.xedit   +++|          NG     X5,PRM5     IF END OF LINE
01405  M00S01388.xedit   +++|          SB4    X5
01406  M00S01389.xedit   +++|          SA5    A5+B1
01407  M00S01390.xedit   +++|          NE     B4,B3,PRM4  IF NOT AT DELIMITER
01408  M00S01391.xedit   +++|          SA0    B0          CLEAR DELIMITER MESSAGE REQUIRED
01409  M00S01392.xedit   +++| PRM5     SA6    P3RP
01410  M00S01393.xedit   +++| PRM6     SA1    COMMAND     CHECK FOR SPECIAL FIELDS
01411  M00S01394.xedit   +++|          SA2    P1LP
01412  M00S01395.xedit   +++|          LX1    59-32       MODIFIER BIT 14
01413  M00S01396.xedit   +++|          PL     X1,PRM9     IF SPECIAL FIELDS NOT USED
01414  M00S01397.xedit   +++|          SA3    A2+B1       P1RP
01415  M00S01398.xedit   +++|          SX4    1R.
01416  M00S01399.xedit   +++|          SB2    X2          LEFT MOST CHARACTER
01417  M00S01400.xedit   +++|          LX1    1
01418  M00S01401.xedit   +++|          SB3    X3          RIGHT MOST CHARACTER
01419  M00S01402.xedit   +++|          PL     X1,PRM7     IF *---* FORM NOT ALLOWED
01420  M00S01403.xedit   +++|          SX4    1R-
01421  M00S01404.xedit   +++| PRM7     GE     B2,B3,PRM8  IF ALL POSITIONS TRIED
01422  M00S01405.xedit   +++|          SA1    B2
01423  M00S01406.xedit   +++|          SB2    B2+B1
01424  M00S01407.xedit   +++|          BX1    X1-X4
01425  M00S01408.xedit   +++|          NZ     X1,PRM7     IF NOT CHARACTER
01426  M00S01409.xedit   +++|          SA1    B2
01427  M00S01410.xedit   +++|          SB2    B2+B1
01428  M00S01411.xedit   +++|          BX1    X1-X4
01429  M00S01412.xedit   +++|          NZ     X1,PRM7     IF NOT CHARACTER
01430  M00S01413.xedit   +++|          SA1    B2
01431  M00S01414.xedit   +++|          SB2    B2+B1
01432  M00S01415.xedit   +++|          BX1    X1-X4
01433  M00S01416.xedit   +++|          NZ     X1,PRM7     IF NOT CHARACTER
01434  M00S01417.xedit   +++|          GT     B2,B3,PRM8    IF PAST LAST CHARACTER IN STRING
01435  M00S01418.xedit   +++|          SA1    P1RP        SET UP POINTERS
01436  M00S01419.xedit   +++|          SX7    B2-3
01437  M00S01420.xedit   +++|          SX6    B2
01438  M00S01421.xedit   +++|          SA7    A1          PUT NEW P1RP
01439  M00S01422.xedit   +++|          SA6    A1+B1       PUT P2LP
01440  M00S01423.xedit   +++|          BX7    X1
01441  M00S01424.xedit   +++|          SX6    X4-1R.
01442  M00S01425.xedit   +++|          SA7    A6+B1       PUT P2RP
01443  M00S01426.xedit   +++|          SA6    PRMB        SET ... OR --- FLAG
01444  M00S01427.xedit   +++|          EQ     PRM9        PARSE NUMBER
01445  M00S01428.xedit   +++|
01446  M00S01429.xedit   +++| PRM8     SX3    X4-1R-
01447  M00S01430.xedit   +++|          NZ     X3,PRM9     IF TRIED ... FORM
01448  M00S01431.xedit   +++|          SB2    X2          RESET FIRST CHARACTER
01449  M00S01432.xedit   +++|          SX4    1R.
01450  M00S01433.xedit   +++|          EQ     PRM7        TRY ... FORM
01451  M00S01434.xedit   +++|
01452  M00S01435.xedit   +++|*         SKIP BLANKS AND FIRST COMMA AND EXIT TO OBTAIN ONE NUMBER
01453  M00S01436.xedit   +++|
01454  M00S01437.xedit   +++| PRM9     SX1    A0
01455  M00S01438.xedit   +++|          ZR     X1,PRM10    IF DELIMITER MESSAGE NOT NEEDED
01456  M00S01439.xedit   +++|          ERROR  DEL.
01457  M00S01440.xedit   +++|
01458  M00S01441.xedit   +++| PRM10    RJ     ASF         ANALYZE STRING FIELDS
01459  M00S01442.xedit   +++|          NZ     B2,NER      IF ERROR ENCOUNTERED
01460  M00S01443.xedit   +++| PRM11    NG     X5,PRM.+NUMBER1  IF END OF LINE REACHED
01461  M00S01444.xedit   +++|          SB3    X5-1R
01462  M00S01445.xedit   +++|          ZR     B3,PRM12    IF BLANK
01463  M00S01446.xedit   +++|          NE     B3,B1,PRM.+NUMBER1  IF NOT COMMA
01464  M00S01447.xedit   +++|          NZ     B2,PRM.+NUMBER1  IF SECOND COMMA
01465  M00S01448.xedit   +++|          SB2    1           SET COMMA ENCOUNTERED
01466  M00S01449.xedit   +++| PRM12    SA5    A5+B1       NEXT CHARACTER
01467  M00S01450.xedit   +++|          EQ     PRM11       CHECK NEXT CHARACTER
01468  M00S01451.xedit   +++|
01469  M00S01452.xedit   +++| PRM13    SB2    ARG.        SET ARGUMENT ERROR
01470  M00S01453.xedit   +++|          EQ     NER         PROCESS ERROR
01471  M00S01454.xedit   +++|
01472  M00S01455.xedit   +++|**        NEXT PARAMETER.
01473  M00S01456.xedit   +++|*
01474  M00S01457.xedit   +++|*         THIS ROUTINE CHECKS FOR A MINUS SIGN. IF MINUS, IT SETS
01475  M00S01458.xedit   +++|*         *NUMS*+1 EQUAL TO -0, ELSE IT SETS *NUMS*+1 = +0, AND THEN
01476  M00S01459.xedit   +++|*         EXITS TO OBTAIN ONE NUMBER.
01477  M00S01460.xedit   +++|
01478  M00S01461.xedit   +++|
01479  M00S01462.xedit   +++| PRM14    PARAM  NEXT
01480  M00S01463.xedit   +++|          MX6    0
01481  M00S01464.xedit   +++|          SX4    X5-1R-
01482  M00S01465.xedit   +++|          SB5    B1          SET ONE NUMBER PARAMETER
01483  M00S01466.xedit   +++|          NZ     X4,PRM15    IF NOT - SIGN
01484  M00S01467.xedit   +++|          SA5    A5+B1       STEP OVER - SIGN
01485  M00S01468.xedit   +++|          MX6    60          SET -0
01486  M00S01469.xedit   +++| PRM15    SA6    NUMS+1
01487  M00S01470.xedit   +++|          EQ     PRM17       OBTAIN NUMBER
01488  M00S01471.xedit   +++|
01489  M00S01472.xedit   +++|**        NUMERIC PARAMETERS.
01490  M00S01473.xedit   +++|*
01491  M00S01474.xedit   +++|*         BITS 17-35 CONTAIN NUMBER OF FIELDS TO PARSE.
01492  M00S01475.xedit   +++|
01493  M00S01476.xedit   +++|
01494  M00S01477.xedit   +++| PRM16    PARAM  NUMBER
01495  M00S01478.xedit   +++|          SA1    COMMAND     GET DESCRIPTOR WORD
01496  M00S01479.xedit   +++|          AX1    18
01497  M00S01480.xedit   +++|          SB5    X1          PARAMETER COUNT
01498  M00S01481.xedit   +++|
01499  M00S01482.xedit   +++|*         ENTRY POINT  (B5) = NUMBER OF FIELDS.
01500  M00S01483.xedit   +++|
01501  M00S01484.xedit   +++| PRM17    SB6    1           SET COUNTER
01502  M00S01485.xedit   +++| PRM18    RJ     VAL
01503  M00S01486.xedit   +++|          SA6    NUMS-1+B6
01504  M00S01487.xedit   +++|          SB6    B6+1
01505  M00S01488.xedit   +++|          LE     B6,B5,PRM18 IF MORE TO GO
01506  M00S01489.xedit   +++|          EQ     PST7        END OF PARSE
01507  M00S01490.xedit   +++|
01508  M00S01491.xedit   +++|**        NUMBER1.
01509  M00S01492.xedit   +++|*
01510  M00S01493.xedit   +++|*         CRACKS OFF 1 NUMBER. ALLOWS MODIFIER FIELD TO BE USED FOR
01511  M00S01494.xedit   +++|*         OTHER FUNCTIONS.
01512  M00S01495.xedit   +++|
01513  M00S01496.xedit   +++|
01514  M00S01497.xedit   +++| PRM19    PARAM  NUMBER1
01515  M00S01498.xedit   +++|          RJ     VAL         PARSE NUMBER
01516  M00S01499.xedit   +++|          SA6    NUMS
01517  M00S01500.xedit   +++|          SA1    INPMODE
01518  M00S01501.xedit   +++|          PL     X1,PST7     IF NOT IN INPUT MODE
01519  M00S01502.xedit   +++|          SA2    COMMAND
01520  M00S01503.xedit   +++|          MX7    60          PREPARE -0
01521  M00S01504.xedit   +++|          LX2    59-/OPTS/F0
01522  M00S01505.xedit   +++|          PL     X2,PST7     IF NOT TO FORCE 0
Line S01506 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01523  M01S01506.v23l617 ---|          SB2    ARG.*100B+1 SET PARAMETER ILLEGAL IN INPUT MODE
Line S00011 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01524  M01S00011.v23l617 +++|          SB2    ARG.*100B+1 SET PARAMETER NOT ALLOWED IN INPUT MODE
01525  M00S01507.xedit   +++|          NZ     X6,NER      IF USER SPECIFIED A PARAMETER
01526  M00S01508.xedit   +++|          SA7    A6          FORCE -0 PARAMETER
01527  M00S01509.xedit   +++|          EQ     PST7        EXIT TO POST COMMAND PROCESSOR
01528  M00S01510.xedit   +++|
01529  M00S01511.xedit   +++|          EQ     PRM17       NOTHING
01530  M00S01512.xedit   +++|
01531  M00S01513.xedit   +++|**        NUMBER2.
01532  M00S01514.xedit   +++|*
01533  M00S01515.xedit   +++|*         CRACKS OFF 2 NUMBERS. ALLOWS MODIFIER FIELD TO BE USED FOR
01534  M00S01516.xedit   +++|*         OTHER FUNCTIONS.
01535  M00S01517.xedit   +++|
01536  M00S01518.xedit   +++|
01537  M00S01519.xedit   +++| PRM20    PARAM  NUMBER2
01538  M00S01520.xedit   +++|          SB5    B1+B1       PARAMETER COUNT
01539  M00S01521.xedit   +++|          EQ     PRM17       PARSE NUMBERS
01540  M00S01522.xedit   +++|
01541  M00S01523.xedit   +++|**        FILE PARAMETER.
01542  M00S01524.xedit   +++|*
01543  M00S01525.xedit   +++|*         PARSES ONE FILE NAME (WITH OPTIONS).
01544  M00S01526.xedit   +++|*         EXITS TO SPECIFIED OPTIONAL PARAMETERS.
01545  M00S01527.xedit   +++|
01546  M00S01528.xedit   +++|
01547  M00S01529.xedit   +++| PRM21    PARAM  ONEFILE
01548  M00S01530.xedit   +++|          BX0    X7          COMMAND DESCRIPTOR
01549  M00S01531.xedit   +++|          LX0    59-21       SPECIAL NAMES OK BIT
01550  M00S01532.xedit   +++|          RJ     GFN         PARSE FILE NAME
01551  M00S01533.xedit   +++|          SA6    IFN
01552  M00S01534.xedit   +++|          ZR     X1,PRM23    IF NAME LEGAL
01553  M00S01535.xedit   +++|          SB2    B6          KLUDGE FOR NOW
01554  M00S01536.xedit   +++|          NZ     X6,PRM22    IF NAME IS SPECIAL
01555  M00S01537.xedit   +++|          SX7    B6-BFN.*100B-2  SEE IF NO FILE NAME
01556  M00S01538.xedit   +++|          LX0    -1          *NFN* BIT
01557  M00S01539.xedit   +++|          NZ     X7,NER      IF NOT *NO FILE NAME*
01558  M00S01540.xedit   +++| PRM22    PL     X0,NER      IF NOT VALID
01559  M00S01541.xedit   +++| PRM23    SA1    COMMAND
01560  M00S01542.xedit   +++|          MX2    -3          OBTAIN POST-FILE OPTIONS
01561  M00S01543.xedit   +++|          AX1    18
01562  M00S01544.xedit   +++|          BX2    -X2*X1
01563  M00S01545.xedit   +++|          LX2    -1
01564  M00S01546.xedit   +++|          SB3    X2+
01565  M00S01547.xedit   +++|          JP     PRM24+B3    JUMP TO POST PROCESSING OPTION
01566  M00S01548.xedit   +++|
01567  M00S01549.xedit   +++| PRM24    PL     X2,PST7     IF NOTHING TO FOLLOW
01568  M00S01550.xedit   +++|          EQ     STRING+PRM. PROCESS STRING FIELD
01569  M00S01551.xedit   +++|
01570  M00S01552.xedit   +++|          EQ     PFMTYPE+PRM.  PROCESS PFM SPECIFICATIONS
01571  M00S01553.xedit   +++|
01572  M00S01554.xedit   +++|**        PFMTYPE.
01573  M00S01555.xedit   +++|*
01574  M00S01556.xedit   +++|*         PFMTYPE CRACKS OFF THE LEGAL PFM CODES FOR
01575  M00S01557.xedit   +++|*         USE IN THE *END*, *FILE*, AND *QUIT* COMMANDS.
01576  M00S01558.xedit   +++|*
01577  M00S01559.xedit   +++|*         THE DATA IS PLACED IN NUMS, WITH THE FOLLOWING
01578  M00S01560.xedit   +++|*         CONVENTION-
01579  M00S01561.xedit   +++|*
01580  M00S01562.xedit   +++|*         BIT 0 = LOCAL OR L USED.
01581  M00S01563.xedit   +++|*         BIT 1 = REPLACE OR R USED.
01582  M00S01564.xedit   +++|*         BIT 2 = DIRECT OR D USED.
01583  M00S01565.xedit   +++|*         BIT 3 = COPY OR C USED.
01584  M00S01566.xedit   +++|*
01585  M00S01567.xedit   +++|*         ANY COMBINATION OF ABOVE ARE LEGAL PROVIDING THAT
01586  M00S01568.xedit   +++|*         ONLY ONE LETTER MNENOMICS ARE USED. (HOWEVER, NOT
01587  M00S01569.xedit   +++|*         ALL COMBINATIONS MADE SENSE).
01588  M00S01570.xedit   +++|
01589  M00S01571.xedit   +++|
01590  M00S01572.xedit   +++| PRM25    PARAM  PFMTYPE
01591  M00S01573.xedit   +++|          BX6    X6-X6       CLEAR ASSEMBLY
01592  M00S01574.xedit   +++|          SB3    PRMC        GET BASE OF MNEMONICS
01593  M00S01575.xedit   +++|          SX4    B1
01594  M00S01576.xedit   +++| PRM26    SB2    PRMCL
01595  M00S01577.xedit   +++|          SX0    X5-7600B
01596  M00S01578.xedit   +++|          NG     X0,PRM27    IF NOT ASCII CHARACTER
01597  M00S01579.xedit   +++|          SX5    X5-7600B
01598  M00S01580.xedit   +++| PRM27    SB2    B2-B1
01599  M00S01581.xedit   +++|          LT     B2,PRM28    IF END OF LIST (END OF PARSE)
01600  M00S01582.xedit   +++|          SA1    B3+B2
01601  M00S01583.xedit   +++|          BX1    X1-X5
01602  M00S01584.xedit   +++|          NZ     X1,PRM27    IF NOT THIS ENTRY
01603  M00S01585.xedit   +++|          LX0    B2,X4       SHIFT CODE
01604  M00S01586.xedit   +++|          SA5    A5+B1       NEXT CHARACTER
01605  M00S01587.xedit   +++|          BX6    X6+X0
01606  M00S01588.xedit   +++|          PL     X5,PRM26    IF MORE TO GO
01607  M00S01589.xedit   +++| PRM28    SA6    NUMS        SET CODES
01608  M00S01590.xedit   +++|          NG     X5,PST      IF END OF LINE
01609  M00S01591.xedit   +++| PRM28.1  SA5    A5+1
01610  M00S01592.xedit   +++|          PL     X5,PRM28.1  IF NOT END OF COMMAND
01611  M00S01593.xedit   +++|          EQ     PST         EXIT
01612  M00S01594.xedit   +++|
01613  M00S01595.xedit   +++|**        TOGGLE/SET PARAMETERS.
01614  M00S01596.xedit   +++|*
01615  M00S01597.xedit   +++|*         VALID CHARACTERS ARE +,-  OR NULL.
01616  M00S01598.xedit   +++|*         + = NUMS IS EQUAL TO +1.
01617  M00S01599.xedit   +++|*         - = NUMS IS EQUAL TO -1.
01618  M00S01600.xedit   +++|*         NULL =      EQUAL TO +0.
01619  M00S01601.xedit   +++|
01620  M00S01602.xedit   +++| PRM29    PARAM  TOGGLE
01621  M00S01603.xedit   +++|          NG     X5,PRM30    IF END OF LINE
01622  M00S01604.xedit   +++|          SB3    X5-1R+
01623  M00S01605.xedit   +++|          ZR     B3,PRM32    IF + SIGN
01624  M00S01606.xedit   +++|          EQ     B3,B1,PRM33 IF - SIGN
01625  M00S01607.xedit   +++|
01626  M00S01608.xedit   +++| PRM30    SX6    0
01627  M00S01609.xedit   +++| PRM31    SA6    NUMS
01628  M00S01610.xedit   +++|          EQ     PST7        EXIT
01629  M00S01611.xedit   +++|
01630  M00S01612.xedit   +++| PRM32    SA5    A5+B1       + SIGN PROCESSING
01631  M00S01613.xedit   +++|          SX6    B1
01632  M00S01614.xedit   +++|          EQ     PRM31       SET UP EXIT
01633  M00S01615.xedit   +++|
01634  M00S01616.xedit   +++| PRM33    SA5    A5+B1       - SIGN PROCESSING
01635  M00S01617.xedit   +++|          SX6    -B1
01636  M00S01618.xedit   +++|          EQ     PRM31       SET UP EXIT
01637  M00S01619.xedit   +++|
01638  M00S01620.xedit   +++|**        CHARACTER PARAMETERS.
01639  M00S01621.xedit   +++|*
01640  M00S01622.xedit   +++|*         ROUTINE ALLOWS ONE CHARACTER PARAMETER.
01641  M00S01623.xedit   +++|*         IF BIT 18 IS SET IN DESCRIPTOR WORD, THE CHARACTER CANNOT
01642  M00S01624.xedit   +++|*         BE AN ALPHABETIC.
01643  M00S01625.xedit   +++|*
01644  M00S01626.xedit   +++|*         THE CHARACTER IS PLACED IN *NUMS*.
01645  M00S01627.xedit   +++|*
01646  M00S01628.xedit   +++|*         NOTE- LOWER CASE LETTERS (IF LEGAL) ARE NOT CONVERTED TO
01647  M00S01629.xedit   +++|*               UPPER CASE. XEDIT VIEWS UPPER/LOWER AS DIFFERENT.
01648  M00S01630.xedit   +++|*
01649  M00S01631.xedit   +++|*         IF THERE IS NO PARAMETER, *NUMS* IS SET TO -1.
01650  M00S01632.xedit   +++|
01651  M00S01633.xedit   +++|
01652  M00S01634.xedit   +++| PRM34    PARAM  CHAR
01653  M00S01635.xedit   +++|          MX6    -1          SET NO CHARACTER
01654  M00S01636.xedit   +++|          NG     X5,PRM35    IF NO CHARACTER
01655  M00S01637.xedit   +++|          BX6    X5
01656  M00S01638.xedit   +++|          LX7    59-18
01657  M00S01639.xedit   +++|          SA5    A5+B1       SET TO NEXT CHARACTER
Line S01640 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01658  M01S01640.v23l617 ---|          SB2    ILL.        ILLEGAL PARAMETER (PRESET)
Line S00012 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01659  M01S00012.v23l617 +++|          SB2    ILL.        INCORRECT PARAMETER (PRESET)
01660  M00S01641.xedit   +++|          PL     X7,PRM35    IF ANY CHARACTER IS LEGAL
01661  M00S01642.xedit   +++|          ZR     X6,PRM35    IF COLON
01662  M00S01643.xedit   +++|          SX4    X6-1RZ-1
01663  M00S01644.xedit   +++|          NG     X4,NER      IF A-Z (UPPER CASE)
01664  M00S01645.xedit   +++|          SX4    X6-7601B
01665  M00S01646.xedit   +++|          NG     X4,PRM35    IF NOT LOWER CASE (.LT. 7601B)
01666  M00S01647.xedit   +++|          SX4    X4-1RZ
01667  M00S01648.xedit   +++|          NG     X4,NER      IF LOWER CASE
01668  M00S01649.xedit   +++| PRM35    SA6    NUMS        SET CHARACTER
01669  M00S01650.xedit   +++|          EQ     PRM40       CHECK FOR NO TRAILING CHARACTERS
01670  M00S01651.xedit   +++|
01671  M00S01652.xedit   +++|**        NULL PARAMETER.
01672  M00S01653.xedit   +++|*
01673  M00S01654.xedit   +++|*         ROUTINE WILL HANDLE OWN PARAMETER CRACKING, HOWEVER, THIS
01674  M00S01655.xedit   +++|*         ROUTINE WILL GIVE THE FIRST CHARACTER ADDRESS AND LAST
01675  M00S01656.xedit   +++|*         CHARACTER ADDRESS (+1) IN *NUMS* AND *NUMS+1*.
01676  M00S01657.xedit   +++|*         IF *NUMS* IS ZERO, THEN THERE IS NO PARAMETER.
01677  M00S01658.xedit   +++|
01678  M00S01659.xedit   +++|
01679  M00S01660.xedit   +++| PRM36    PARAM  NULL
01680  M00S01661.xedit   +++|          SX6    A5          GET FWA OF PARAMETER
01681  M00S01662.xedit   +++|          SA6    NUMS
01682  M00S01663.xedit   +++|          NG     X5,PRM37    IF NO PARAMETER
01683  M00S01664.xedit   +++| PRM36.1  SA5    A5+B1
01684  M00S01665.xedit   +++|          PL     X5,PRM36.1  IF NOT AT END OF PARAMETER
01685  M00S01666.xedit   +++|          SX6    A5
01686  M00S01667.xedit   +++|          SA6    A6+B1       SAVE LWA+1
01687  M00S01668.xedit   +++|          EQ     PRM.+NONE   PROCESS NO PARAMETERS
01688  M00S01669.xedit   +++|
01689  M00S01670.xedit   +++| PRM37    MX6    0
01690  M00S01671.xedit   +++|          SA6    A6          REPLACE POINTER
01691  M00S01672.xedit   +++|          EQ     PRM.+NONE   PROCESS NO PARAMETERS
01692  M00S01673.xedit   +++|
01693  M00S01674.xedit   +++|**        LOAD OVERLAY AND RE-GET PARAMETER CRACKING SPECIFICATIONS.
01694  M00S01675.xedit   +++|*         OVERLAY TO LOAD IS IN THE ROUTINE ADDRESS FIELD.
01695  M00S01676.xedit   +++|*         ENTRY  (X4) = LOWER 18 BITS CONTAINS OVERLAY NUMBER TO LOAD.
01696  M00S01677.xedit   +++|
01697  M00S01678.xedit   +++|
01698  M00S01679.xedit   +++| PRM38    PARAM  OVL
01699  M00S01680.xedit   +++|          SA2    LOVE        LAST OVERLAY LOADED
01700  M00S01681.xedit   +++|          SX7    X4+1R0
01701  M00S01682.xedit   +++|          BX3    X7-X2
01702  M00S01683.xedit   +++|          ZR     X3,PRM39    IF OVERLAY ALREADY LOADED
01703  M00S01684.xedit   +++|          SX0    X4
01704  M00S01685.xedit   +++|          SA7    A2
01705  M00S01686.xedit   +++| .D       IFNE   DEBUG+FILEOV,0  IF DEBUG MODE OR OVERLAYS FROM SYSTEM
01706  M00S01687.xedit   +++|          SA3    LOVA        FORM OVERLAY NAME
01707  M00S01688.xedit   +++|          BX6    X3+X7
01708  M00S01689.xedit   +++|          LX6    24          LEFT JUSTIFY
01709  M00S01690.xedit   +++|          SA6    LOVC
01710  M00S01691.xedit   +++| .D       ENDIF
01711  M00S01692.xedit   +++| .E       IFEQ   DEBUG,1     IF DEBUG ON
01712  M00S01693.xedit   +++|          WRITEC OUTPUT,LOVC-1
01713  M00S01694.xedit   +++| .E       ENDIF
01714  M00S01695.xedit   +++|          MEMORY CM,LOVB+X0,R  OBTAIN NECESSARY FIELD LENGTH
01715  M00S01696.xedit   +++| .G       IFEQ   FILEOV,0    IF LOAD FROM LOCAL FILE
01716  M00S01697.xedit   +++|          SA1    ACTR        FILE NAME CONTAINING OVERLAY
01717  M00S01698.xedit   +++|          MX2    42
01718  M00S01699.xedit   +++|          BX1    X1*X2
01719  M00S01700.xedit   +++|          LX0    6
01720  M00S01701.xedit   +++|          OVERLAY X1,X0
01721  M00S01702.xedit   +++| .G       ELSE               LOAD FROM SYSTEM
01722  M00S01703.xedit   +++|          OVERLAY LOVC,X0,S
01723  M00S01704.xedit   +++| .G       ENDIF
01724  M00S01705.xedit   +++|          SB7    X1          GET ENTRY POINT (PRESET OVERLAY)
01725  M00S01706.xedit   +++|          JP     B7          ENTER OVERLAY
01726  M00S01707.xedit   +++|
01727  M00S01708.xedit   +++| PRM39    SA1    COMMAND     GET DESCRIPTOR WORD
01728  M00S01709.xedit   +++|          AX1    18
01729  M00S01710.xedit   +++|          SA4    X1          OBTAIN COMMAND DESCRIPTOR WORD ADDR-1
01730  M00S01711.xedit   +++|          EQ     NCM15       PROCESS COMMAND
01731  M00S01712.xedit   +++|
01732  M00S01713.xedit   +++|**        NO PARAMETERS (NONE).
01733  M00S01714.xedit   +++|*
01734  M00S01715.xedit   +++|*         THIS ROUTINE ASSURES THAT THE CHARACTER POINTER IS POSITIONED
01735  M00S01716.xedit   +++|*         AT AN END OF LINE (PSEUDO OR REAL).
01736  M00S01717.xedit   +++|
01737  M00S01718.xedit   +++|
01738  M00S01719.xedit   +++| PRM40    PARAM  NONE
01739  M00S01720.xedit   +++|*         GO TO *PST7*.
01740  M00S01721.xedit   +++| PST      SPACE  4,20
01741  M00S01722.xedit   +++|**        PST - POST COMMAND PROCESSOR.
01742  M00S01723.xedit   +++|*
01743  M00S01724.xedit   +++|*         ENTRY  (A1) = C.STR-1.
01744  M00S01725.xedit   +++|*                (A5) = ADDRESS OF CURRENT CHARACTER.
01745  M00S01726.xedit   +++|*                (X5) = CURRENT CHARACTER.
01746  M00S01727.xedit   +++|*                (PREFIX) = PREFIX OPTIONS.
01747  M00S01728.xedit   +++|*                (COMMAND) = COMMAND DESCRIPTOR.
01748  M00S01729.xedit   +++|*
01749  M00S01730.xedit   +++|*         EXIT   TO PROCESS COMMAND, OR TO ERROR ROUTINE.
01750  M00S01731.xedit   +++|*
01751  M00S01732.xedit   +++|*         USES   A - 1, 2, 3, 5, 6.
01752  M00S01733.xedit   +++|*                X - 1, 2, 3, 4, 5, 6.
01753  M00S01734.xedit   +++|*                B - 2, 4, 6, 7.
01754  M00S01735.xedit   +++|*
01755  M00S01736.xedit   +++|*         CALLS  ETL, GLN, MPR, RTDA, VRY.
01756  M00S01737.xedit   +++|*
01757  M00S01738.xedit   +++|*         MACROS ERROR.
01758  M00S01739.xedit   +++|
01759  M00S01740.xedit   +++|
01760  M00S01741.xedit   +++| PST7     NG     X5,PST      IF END OF LINE
01761  M00S01742.xedit   +++|          SB4    X5-1R
01762  M00S01743.xedit   +++|          SA5    A5+1
01763  M00S01744.xedit   +++|          ZR     B4,PST7     IF BLANK
Line S01745 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01764  M01S01745.v23l617 ---|          SB2    ILL.        ILLEGAL PARAMETER
Line S00013 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01765  M01S00013.v23l617 +++|          SB2    ILL.        INCORRECT PARAMETER
01766  M00S01746.xedit   +++|          EQ     NER         PROCESS ERROR, EXIT.
01767  M00S01747.xedit   +++|
01768  M00S01748.xedit   +++| PST      SA3    C.STR-1     PACK UP LAST COMMAND (PUT INTO LASTCMD)
01769  M00S01749.xedit   +++|          UX3    B6,X3
01770  M00S01750.xedit   +++|          SB6    A3+B6       FWA OF COMMAND
01771  M00S01751.xedit   +++|          SB7    P.LINE      SET LAST PARAMETER
01772  M00S01752.xedit   +++|          RJ     RTOA        PACK LAST COMMAND
01773  M00S01753.xedit   +++|
01774  M00S01754.xedit   +++|*         ENTRY FROM SOME SPECIAL COMMAND PROCESSORS.
01775  M00S01755.xedit   +++|
01776  M00S01756.xedit   +++| PST1     SB6    B0          PRESET TO *READ REQUIRED*
01777  M00S01757.xedit   +++|          LX4    B1,X5       NEG. IF TRUE END OF LINE
01778  M00S01758.xedit   +++|          NG     X4,PST2     IF ABOVE
01779  M00S01759.xedit   +++|          SB6    A5+2-C.STR  SET CHARACTER POINTER
01780  M00S01760.xedit   +++|          SX6    X5          REMOVE SPECIAL END OF LINE
01781  M00S01761.xedit   +++|          SA6    A5
01782  M00S01762.xedit   +++| PST2     SA3    C.STR-1     RESET FOR ENTRY FROM *PST1*
01783  M00S01763.xedit   +++|          SA1    COMMAND
01784  M00S01764.xedit   +++|          PX6    B6,X3
01785  M00S01765.xedit   +++|          SB7    X1          ROUTINE ADDRESS
01786  M00S01766.xedit   +++|          SA6    C.STR-1     SAVE POINTER/DELIMITER
01787  M00S01767.xedit   +++|          PL     X3,PST3     IF NOT TO ECHO LINE
01788  M00S01768.xedit   +++|          SA1    P.LINE
01789  M00S01769.xedit   +++|          SA3    ETLB        SET COMMAND LINE HEADER
01790  M00S01770.xedit   +++|          RJ     ETL
01791  M00S01771.xedit   +++| PST3     SA1    SCOUNT
01792  M00S01772.xedit   +++|          ZR     X1,PST4     IF SLASH COUNT ZERO
01793  M00S01773.xedit   +++|          RJ     MPR         ADVANCE POINTER
01794  M00S01774.xedit   +++| PST4     SA1    NXTLINE
01795  M00S01775.xedit   +++|          SA2    COMMAND
01796  M00S01776.xedit   +++|          ZR     X1,PST5     IF NO ADVANCE TO LINE NUMBER
01797  M00S01777.xedit   +++|          SA3    INPMODE
01798  M00S01778.xedit   +++|          NG     X3,NCM20    IF POINTER MOVEMENT NOT ALLOWED, EXIT
01799  M00S01779.xedit   +++|          SA3    IWHERE
01800  M00S01780.xedit   +++|          NG     X3,NCM19    IF IN CREATION MODE, EXIT
01801  M00S01781.xedit   +++|          RJ     GLN
01802  M00S01782.xedit   +++|          NZ     X6,PST6     IF LINE NUMBER NOT FOUND
01803  M00S01783.xedit   +++|          SA2    COMMAND
01804  M00S01784.xedit   +++| PST5     SB7    X2          (X2) = COMMAND DESCRIPTOR WORD
01805  M00S01785.xedit   +++|          BX1    X2
01806  M00S01786.xedit   +++|          JP     B7          PROCESS COMMAND, EXIT
01807  M00S01787.xedit   +++|
01808  M00S01788.xedit   +++|*         PROCESS LINE NUMBER NOT FOUND.
01809  M00S01789.xedit   +++|
01810  M00S01790.xedit   +++| PST6     ERROR  LNNF.       ISSUE MESSAGE
01811  M00S01791.xedit   +++|          RJ     VRY
01812  M00S01792.xedit   +++|          EQ     CER1        RETURN TO ERROR CLEANUP
01813  M00S01793.xedit   +++|
01814  M00S01794.xedit   +++| NER      SPACE  4,15
01815  M00S01795.xedit   +++|**        NER - COMMAND PARSER ERROR PROCESSOR.
01816  M00S01796.xedit   +++|*
01817  M00S01797.xedit   +++|*         ENTRY  (B2) = ORDINAL OF MESSAGE TO PRINT.
01818  M00S01798.xedit   +++|*
01819  M00S01799.xedit   +++|*         EXIT   (B2) = ORDINAL OF MESSAGE PRINTED.
01820  M00S01800.xedit   +++|*
01821  M00S01801.xedit   +++|*         USES   A - 0, 5, 6, 7.
01822  M00S01802.xedit   +++|*                X - 5, 6, 7.
01823  M00S01803.xedit   +++|*                B - NONE.
01824  M00S01804.xedit   +++|*
01825  M00S01805.xedit   +++|*         CALLS  PST.
01826  M00S01806.xedit   +++|
01827  M00S01807.xedit   +++|
01828  M00S01808.xedit   +++| NER      SX6    NER2        RE-ENTRY ADDRESS
01829  M00S01809.xedit   +++|          NG     X5,NER1     IF AT END OF LINE
01830  M00S01810.xedit   +++| NER0     SA5    A5+1
01831  M00S01811.xedit   +++|          PL     X5,NER0     IF NOT END OF LINE
01832  M00S01812.xedit   +++| NER1     MX7    0           CLEAR NXTLINE FLAG
01833  M00S01813.xedit   +++|          SA6    COMMAND     SAVE RE-ENTRY
01834  M00S01814.xedit   +++|          SA0    B2          SAVE ERROR MESSAGE
01835  M00S01815.xedit   +++|          SA7    NXTLINE
01836  M00S01816.xedit   +++|          EQ     PST         FOR PARTIAL PROCESSING, RETURN TO *NER1*
01837  M00S01817.xedit   +++|
01838  M00S01818.xedit   +++| NER2     SB2    A0          RE-SET ERROR MESSAGE
01839  M00S01819.xedit   +++|          EQ     CER         EXIT
01840  M00S01820.xedit   +++|
01841  M00S01821.xedit   +++|          TITLE  PREFIX CHARACTER ROUTINES.
01842  M00S01822.xedit   +++|**        PREFIX CHARACTERS.
01843  M00S01823.xedit   +++|*
01844  M00S01824.xedit   +++|*         THE FOLLOWING ROUTINES ARE CALLED TO PROCESS
01845  M00S01825.xedit   +++|*         COMMAND PREFIX CHARACTERS.
01846  M00S01826.xedit   +++| X        SPACE  4,10
01847  M00S01827.xedit   +++|**        X  - TOGGLE VERIFICATION.
01848  M00S01828.xedit   +++|*         x - ALTERNATE FORM.
01849  M00S01829.xedit   +++|*
01850  M00S01830.xedit   +++|*         ENTRY  NONE.
01851  M00S01831.xedit   +++|*
01852  M00S01832.xedit   +++|*         EXIT   TO *NCM*.
01853  M00S01833.xedit   +++|*
01854  M00S01834.xedit   +++|*         USES   A - 4, 6.
01855  M00S01835.xedit   +++|*                B - 4, 6.
01856  M00S01836.xedit   +++|
01857  M00S01837.xedit   +++|
01858  M00S01838.xedit   +++|          PREFIX X
01859  M00S01839.xedit   +++|          SA4    XVERIFY     TOGGLE MODE
01860  M00S01840.xedit   +++|          BX6    -X4
01861  M00S01841.xedit   +++|          SA6    A4-B1
01862  M00S01842.xedit   +++|          EQ     NCM2        EXIT
01863  M00S01843.xedit   +++| PLUS     SPACE  4,10
01864  M00S01844.xedit   +++|**        + - GET DATA INPUT FROM NEW INPUT LINES.
01865  M00S01845.xedit   +++|*
01866  M00S01846.xedit   +++|*         ENTRY  NONE.
01867  M00S01847.xedit   +++|*
01868  M00S01848.xedit   +++|*         EXIT   TO *NCM*.
01869  M00S01849.xedit   +++|*
01870  M00S01850.xedit   +++|*         USES   A - 1, 7.
01871  M00S01851.xedit   +++|*                X - 1, 7.
01872  M00S01852.xedit   +++|
01873  M00S01853.xedit   +++|
01874  M00S01854.xedit   +++|          PREFIX +
01875  M00S01855.xedit   +++|          SA1    PREFIX
01876  M00S01856.xedit   +++|          SX7    1BS"PLUS"
01877  M00S01857.xedit   +++|          BX1    X1+X7
01878  M00S01858.xedit   +++|          SA7    A1
01879  M00S01859.xedit   +++|          EQ     NCM2        EXIT
01880  M00S01860.xedit   +++| SLASH    SPACE  4,15
01881  M00S01861.xedit   +++|**        / - SKIP TO A NEW LINE.
01882  M00S01862.xedit   +++|*         ENTRY  NONE.
01883  M00S01863.xedit   +++|*
01884  M00S01864.xedit   +++|*         EXIT   (SCOUNT) = (SCOUNT) + 1.
01885  M00S01865.xedit   +++|*                TO *NCM2* IF NO ERRORS.
01886  M00S01866.xedit   +++|*                TO *NCM19* OR *NER* IF ERRORS.
01887  M00S01867.xedit   +++|*
01888  M00S01868.xedit   +++|*         USES   A - 1, 7.
01889  M00S01869.xedit   +++|*                X - 1, 7.
01890  M00S01870.xedit   +++|*                B - 2.
01891  M00S01871.xedit   +++|*         NOTES  SLASH PREFIX PROCESSED IN *PST*.
01892  M00S01872.xedit   +++|*
01893  M00S01873.xedit   +++|
01894  M00S01874.xedit   +++|
01895  M00S01875.xedit   +++|          PREFIX /
01896  M00S01876.xedit   +++|          SB2    ARG.*100B+1
01897  M00S01877.xedit   +++|          SA1    INPMODE
01898  M00S01878.xedit   +++|          NG     X1,NER      IF IN INPUT MODE (POINTER MOTION ILLEGAL)
01899  M00S01879.xedit   +++|          SA1    IWHERE
01900  M00S01880.xedit   +++|          NG     X1,NCM19    IF IN CREATION MODE
01901  M00S01881.xedit   +++|          SA1    SCOUNT
01902  M00S01882.xedit   +++|          SX7    X1+B1       INCREMENT SLASH COUNT
01903  M00S01883.xedit   +++|          SA7    A1
01904  M00S01884.xedit   +++|          EQ     NCM2        EXIT
01905  M00S01885.xedit   +++| UPARROW  SPACE  4,15
01906  M00S01886.xedit   +++|**         UP ARROW - GO TO TOP OF FILE BEFORE PROCESSING.
01907  M00S01887.xedit   +++|*
01908  M00S01888.xedit   +++|*         ENTRY  NONE.
01909  M00S01889.xedit   +++|*
01910  M00S01890.xedit   +++|*         EXIT   (SCOUNT) = 0.
01911  M00S01891.xedit   +++|*                TO *NCM2* IF NO ERRORS.
01912  M00S01892.xedit   +++|*                TO *NCM19* OR *NER* IF ERRORS.
01913  M00S01893.xedit   +++|*
01914  M00S01894.xedit   +++|*         USES   A - 1, 7.
01915  M00S01895.xedit   +++|*                X - 1, 7.
01916  M00S01896.xedit   +++|*                B - 2.
01917  M00S01897.xedit   +++|
01918  M00S01898.xedit   +++|
01919  M00S01899.xedit   +++|          PREFIX UA.
01920  M00S01900.xedit   +++|          SB2    ARG.*100B+1
01921  M00S01901.xedit   +++|          SA1    INPMODE
01922  M00S01902.xedit   +++|          NG     X1,NER      IF IN INPUT MODE (POINTER MOTION ILLEGAL)
01923  M00S01903.xedit   +++|          SA1    IWHERE
01924  M00S01904.xedit   +++|          NG     X1,NCM19    IF IN CREATION MODE
01925  M00S01905.xedit   +++|          BX7    X7-X7
01926  M00S01906.xedit   +++|          SA7    SCOUNT      ZERO SLASH PREFIX COUNT
01927  M00S01907.xedit   +++|          RJ     TOP
01928  M00S01908.xedit   +++|          EQ     NCM2        EXIT
01929  M00S01909.xedit   +++| PREFIXT  SPACE  4,10
01930  M00S01910.xedit   +++| PREFIXT  BSS    0
01931  M00S01911.xedit   +++| PREFIX   HERE               ASSEMBLE PREFIX TABLE
01932  M00S01912.xedit   +++| PREFIXU  DATA   0           END MARKER
01933  M00S01913.xedit   +++|          PURGMAC  PREFIX    VOID USE OF THIS MACRO
01934  M00S01914.xedit   +++|          TITLE  SPECIAL COMMAND FORMS.
01935  M00S01915.xedit   +++|**        SPECIAL COMMANDS-
01936  M00S01916.xedit   +++|*
01937  M00S01917.xedit   +++|*         THE FOLLOWING COMMANDS PROCESS SPECIAL COMMANDS.
01938  M00S01918.xedit   +++| -        SPACE  4,15
01939  M00S01919.xedit   +++|**        - - EXECUTE LAST Y OR Z COMMAND.
01940  M00S01920.xedit   +++|*
01941  M00S01921.xedit   +++|*         ENTRY  AT *DSH1* TO PROCESS *.* COMMAND.
01942  M00S01922.xedit   +++|*
01943  M00S01923.xedit   +++|*         EXIT   TO *PST1* IF NO ERRORS.
Line S01924 Modification History
M01 (Removed by) xedit8
Seq #  *Modification Id* Act 
----------------------------+
01944  M01S01924.xedit8  ---|*         TO *NER* OR *NER* IF ERROR.
01945  M01S01925.xedit8  ---|*
01946  M01S01926.xedit8  ---|*         USES   A - 0, 1, 3, 7.
01947  M01S01927.xedit8  ---|*                X - 0, 1, 3, 6, 7.
01948  M01S01928.xedit8  ---|*                B - 2, 6.
01949  M01S01929.xedit8  ---|*
01950  M01S01930.xedit8  ---|*         CALLS  MPR, STL, STK, VAL.
Line S00001 Modification History
M01 (Added by) xedit8
Seq #  *Modification Id* Act 
----------------------------+
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  M00S01931.xedit   +++|
01959  M00S01932.xedit   +++|
01960  M00S01933.xedit   +++|          SPECIAL  (-)
01961  M00S01934.xedit   +++|          SA0    Y.DEV       SET ADDRESS OF DEVICE TO STACK
01962  M00S01935.xedit   +++|
01963  M00S01936.xedit   +++|*         ENTRY  (A0) = ADDRESS OF DEVICE TO STACK.
01964  M00S01937.xedit   +++|
01965  M00S01938.xedit   +++| DSH1     RJ     VAL
01966  M00S01939.xedit   +++|          SB2    ILL.
01967  M00S01940.xedit   +++|          PL     X5,NER      IF ARGUMENT AFTER LINE COUNT
01968  M00S01941.xedit   +++|          SX7    DSH3
01969  M00S01942.xedit   +++|          NG     X6,DSH2     IF USED PARAMETER 0
01970  M00S01943.xedit   +++|          NZ     X6,DSH2     IF SPECIFIED A NUMBER
01971  M00S01944.xedit   +++|          SX6    1           SET DEFAULT
01972  M00S01945.xedit   +++|
01973  M00S01946.xedit   +++| DSH2     SA6    SKPCNT
01974  M00S01947.xedit   +++|          SA7    COMMAND     SET COMMAND ADDRESS (RE-ENTER)
01975  M00S01948.xedit   +++|          EQ     PST1        CLOSE COMMAND PROCESSING
01976  M00S01949.xedit   +++|
01977  M00S01950.xedit   +++| DSH3     SA1    SKPCNT
01978  M00S01951.xedit   +++|          RJ     STL         PROCESS INTERRUPT
01979  M00S01952.xedit   +++|          ZR     X1,DSH4     IF NOT TO ADVANCE POINTER
01980  M00S01953.xedit   +++|          SA3    INPMODE
01981  M00S01954.xedit   +++|          SB2    ARG.*100B+1
01982  M00S01955.xedit   +++|          NG     X3,CER      IF NOT VALID IN INPUT MODE
01983  M00S01956.xedit   +++|          SA3    IWHERE
01984  M00S01957.xedit   +++|          SB2    CNV.*100B+1
01985  M00S01958.xedit   +++|          NG     X3,CER      IF NOT VALID IN CREATION MODE
01986  M00S01959.xedit   +++|          RJ     MPR
01987  M00S01960.xedit   +++|
01988  M00S01961.xedit   +++| DSH4     SA1    A0          SET ADDRESS OF DEVICE TO STACK
Line S01962 Modification History
M01 (Removed by) xedit8
Seq #  *Modification Id* Act 
----------------------------+
01989  M01S01962.xedit8  ---|          RJ     STK
01990  M01S01963.xedit8  ---|          SB6    STK.        * COMMAND STACKING ERROR.
01991  M01S01964.xedit8  ---|          EQ     CER         IF DEVICE IS NOT AVAILABLE
01992  M00S01965.xedit   +++|          RJ     STK         STACK DEVICES
01993  M00S01966.xedit   +++|          SB2    STK.
01994  M00S01967.xedit   +++|          EQ     CER         IF DEVICE IS NOT STACKABLE
01995  M00S01968.xedit   +++| .        SPACE  4,10
01996  M00S01969.xedit   +++|**        . - EXECUTE LAST COMMAND.
01997  M00S01970.xedit   +++|*
01998  M00S01971.xedit   +++|*         ENTRY  NONE.
01999  M00S01972.xedit   +++|*
02000  M00S01973.xedit   +++|*         EXIT   TO *DSH1*.
Proceed to Part 1
cdc/nos2.source/opl.opl871/deck/xedit.txt ยท Last modified: (external edit)