CMEMILL866

(George Source)

Macros used: BXGE, BXL, CHNUMCOD, COMERRX, ENDCOM, INFORM, JENVNOT, MFREE, MHUNT, MILL, MONOUT, OCPSMILL, OUTPACK, PARAPASS, SEG, SEGENTRY, TESTREP2, UP

CMEMILL866.txt
2278 ...      SEG      CMEMILL,867,SECTION CENT 
22#B ...
22FJ ...
22LQ ...
22RY ...
22^=    #OPT  K0CMEMILL=0   
23DW    #LIS  K0CMEMILL>K0COMMAND>K0ALLGEO  
24D6    #   
24XQ    #   
25CB    #     THIS SEGMENT IMPLEMENTS THE MILL COMMAND FOR CME. 
25X2    #   
26BL    #         COMMAND FORMATS:  
26W=    #         1  MILL  NN   
27*W    #         2  MILL  NN,I,NN,I .....  
27TG    #         3  MILL   
28*6    #     WHERE NN = PERCENTAGE 
28SQ    #       AND I    = OCP NUMBER   
29#B    #   
29S2    #     FORMATS 1 AND 2 SET THE MILL PERCENTAGE   
2=?L    #     FORMAT 3 INTERROGATES IT. 
2=R=    #   
2?=W    #     THE SEGMENT IS ALSO ENTERED IN EMS IN ORDER TO INTERROGATE THE MIL
2?QG    #   
2#=6    #           X4 IS USED TO CONTAIN PERCENTAGE
2#PQ ...#           AWORK2                OCP NUMBER
2*9B ...#           AWORK1 IS POSITIVE IF COMMAND ENRTY, ZERO IF EMS
2*P2
2B8L    #   
2BN=    #   
2C7W          SEGENTRY K1CMEMILL,XENT1     [COMMAND ENTRY   
2CMG          SEGENTRY K2CMEMILL,XENT2     [ENTRY IN EMS
2D76    #   
2DLQ    XDUALS         +2   
2F6B    XLOW           +1   
2FL2    XHIGH          +100 
2FYC ...XOCPLOW        +0   
2G=S ...XOCPHIGH       +64  
2GK=    #   
2H4W    #   
2HJG    #     THIS SUBROUTINE OBTAINS AND VETS PERCENTAGE PARA & OCP NO. PARA.  
2J46    #     IT EXITS AS FOLLOWS   
2JHQ    #                 EXIT  6  0  -  PARAMETERS NON-EXISTENT
2K3B    #                           1  -  OCP NUMBER NON-EXISTENT   
2KH2    #                           2  -  BOTH PRESENT AND CORRECT, 
2L2L    #              IN WHICH CASE
2LG=    #                          X4 CONTAINS PERCENTAGE   
2L^W ...#                      AWORK2          OCP NUMBER   
2MFG    #     IF AN ERROR IS FOUND, THE ERROR ROUTINE IS ENTERED (RETURNS TO CP)
2M^6    #   
2NDQ    PARAVET 
2NNJ ...      SBX   6  FX1                   [DATUMIZE  
2NYB          PARAPASS                     [GET PERCENTAGE  
2PD2          MHUNT    3,CPB,CUNI   
2PXL          LDX   4  ANUM(3)  
2QC=          BNG   4  PEXIT0              [J IF NO PARAS   
2QWW          BZE   4  NLPERR              [J IF NULL   
2RBG          CHNUMCOD 1
2RL# ...      TESTREP2 CHNUMERR,PERERR  
2RW6          LDX   4  ACOMMUNE1(2) 
2S*Q          BXL   4  XLOW(1),PERERR      [CHECK PERCENT WITHIN RANGE  
2STB ...      BXGE  4  XHIGH(1),PERERR  
2T58 ...      MFREE    CPB,CUNI 
2T*2          PARAPASS                     [GET OCP NO. 
2TSL          MHUNT    3,CPB,CUNI   
2W#=          LDX   5  ANUM(3)  
2WRW          BNG   5  PEXIT1              [J IF NO OCP NO. 
2X?G          BZE   5  NLOCPERR            [J IF OCP NULL   
2XLM ...      CHNUMCOD 1
2XS9 ...      TESTREP2 CHNUMERR,OCPERR  
2XT2 ...#   
2XTR ...#     PRESENCE OF OCP NUMBER CURRENTLY INVALID. SEE ALSO
2XWJ ...#     COMMENT ABOVE LABEL RATIO 
2XX* ...#   
2XY6 ...      BRN      OCPERR   
2XYX ...#   
2X^S ...      LDX   5  ACOMMUNE1(2) 
2YN6 ...      BXL   5  XOCPLOW(1),OCPERR
2^3? ...      BXGE   5  XOCPHIGH(1),OCPERR  
2^BD ...      STO   5  AWORK2(2)
2^J3 ...      MFREE    CPB,CUNI 
2^LS ...      ADX   6  FX1  
2^PL          EXIT  6  2
329=    PEXIT0  
32F4 ...      ADX   6  FX1  
32NW          EXIT  6  0
338G    PEXIT1  
33D# ...      ADX   6  FX1  
33N6          EXIT  6  1
33N? ...#   
33ND ...#     THIS SUBROUTINE ISSUES THE MILL MACRO & STORES REPLY IN X4.   
33NK ...#   
33NQ ...#     ENTERED AT LABEL FOR FUNCTION REQUIRED.   
33NX ...#    LINK IN X7.
33P4 ...#   
33P9 ...SETQALL 
33PB ...      LDN   4  0                  [INTERROGATE  
33PH ...SETALL  
33PN ...      STOZ      AWORK2(2)         [PERCENTAGE TO BE SET OVERALL 
33PT ...      LDN   6  0
33Q2 ...SETOCPM 
33Q7 ...      MILL     4,AWORK2(2),6
33Q# ...      EXIT  7  0
33QF ...#   
33QL ...#     THIS SUBROUTINE OUTPUTS MESSAGE TO SYSTEM JOURNAL 
33QR ...#     (AND OPS IF COMMAND ENTRY).   
33QY ...#     LABEL ENTERED AT DEPENDS ON WETHER OCP TO BE INCLUDED 
33R5 ...#     IN MESSAGE.             LINK IN X6.   
33R= ...#   
33RC ...REPORTO 
33RF ...      SBX   5  FX1  
33RJ ...      OUTPACK  AWORK2(2),1,NUMB    [INCLUDE OCP NO. 
33RP ...      BRN      REP1 
33RW ...REPORTN 
33RY ...      SBX   5  FX1  
33S3 ...      OUTPACK  AWORK2(2),1,SKIP    [NO OCP NO.  
33S8 ...REP1
33S* ...      LDX   0  AWORK1(2)
33SG ...      BZE   0  RNOT1               [J IF NOT COMMAND
33SM ...      INFORM   1,CMERATIO,1        [SEND MESSAGE
33SS ...      BRN      REXIT1   
33S^ ...RNOT1   
33T6 ...      MONOUT   CMERATIO            [SEND MESSAGE
33T? ...REXIT1  
33T* ...      ADX   5  FX1  
33TD ...      EXIT  5  0
33TK ...#   
33TQ ...#     THIS SUBROUTINE OUTPUTS OVERALL MILL MESSAGE TO SYSTEM JOURNAL
33TX ...#     (AND OPS IF COMMAND ENTRY). STORES MILL PERCENTAGE IN FIXED CORE. 
33W4 ...#     LINK IN X5.   
33W9 ...#   
33WB ...REPALL  
33WD ...      SBX   5  FX1  
33WH ...      OUTPACK  4,1,NUMA            [INCLUDE PERCENTAGE  
33WN ...      LDX   0  AWORK1(2)
33WT ...      BZE   0  RNOT2
33X2 ...      INFORM   1,CMEALLRATIO       [SEND MESSAGE
33X7 ...      BRN      RST2 
33X# ...RNOT2   
33XF ...      MONOUT   CMEALLRATIO  
33XL ...RST2
33XR ...      STO   4  CMEMILLALL          [STORE IN FIXED  
33XT ...      ADX   5  FX1  
33XY ...      EXIT  5  0
33Y5 ...#   
33Y= ...#     THIS SUBROUTINE EXPECTS PERCENTAGE IN X4 AND OCP NO. IN AWORK2. IT
33YC ...#     REPORTS THESE AND THEN FINDS THE RIGHT CMEMILL WORD IN FIXED  
33YJ ...#     CORE AND STORES THEM.            LINK IN X7.  
33YP ...#     NB. THIS S/R IS CALLED FROM OCPSMILL MACRO.   
33YW ...#   
33^3 ...OCPSSR  
33^8 ...#                                   DEAL WITH REPLY FOR EACH OCP.   
33^* ...#   
33^C ...      SBX   7  FX1  
33^G ...      OUTPACK  4,1,NUMA 
33^M ...      CALL  5  REPORTO             [REPORT  
33^S ...#   
33^^ ...#     NOW FIND WORD IN CMEMILL LIST IN FIXED WITH MATCHING OCP NUMBER   
3426 ...#     IN B0-8 AND STORE NEW PERCENTAGE IN B9-23. IF WHOLE WORD IS   
342? ...#     ZERO, STORE OCP NUMBER AS WELL.   
342D ...#   
342G ...      BZE   4  STORENOT 
342K ...      LDN   3  0
342Q ...STORE1  
342X ...      LDX   0  CMEMILL(3)   
3434 ...      BZE   0  STORE2              [J IF EMPTY  
3439 ...      SRL   0  15   
343B ...      SBX   0  AWORK2(2)
343H ...      BZE   0  STORE3              [J IF MATCH  
343N ...      ADN   3  1
343T ...      LDN   0  CMAXPROC 
3442 ...      BXL   0  3,STORENOT          [J IF PAST MAX NO. ACTIVE OCPS   
3447 ...      BRN      STORE1   
344# ...STORE2  
344F ...      LDX   0  AWORK2(2)
344L ...      SLL   0  15   
344R ...      STO   0  CMEMILL(3)          [STORE OCP   
344Y ...STORE3  
3455 ...      DLA   4  CMEMILL(3)          [STORE PERCENTAGE
3457 ...STORENOT
3458 ...      ADX   7  FX1  
345= ...      EXIT  7  0
345P ...#   
347Q    XENT1   
34HF ...      LDN   0  1                   [REMEMBER ENTRY FROM COMMAND 
34X8 ...      STO   0  AWORK1(2)
35=X ...      JENVNOT  NOTCME,CME,EXCL  
35LL          CALL  6  PARAVET             [GET & VET 1ST PERCENT,& OCP IF THERE
366=          BRN      QUERY               [J IF NO PARAS - IS INTERROGATORY
36KW ...      BRN      ZEROCP              [J IF NO OCP SPECIFIED   
36P2 ...#   
36S6 ...#     PRESENCE OF OCP NUMBER CURRENTLY INVALID. THIS
36X= ...#     DETECTED IN PARAVET SR SO NO RETURN MADE. 
372B ...#   
375G ...#   
37K6 ...#                        COMMAND WITH PERCENTAGE AND OCP NO.
384Q ...RATIO   
38JB ...      LDN   6  1
3942 ...      CALL  7  SETOCPM             [ISSUE REQUEST   
39HL ...      CALL  7  OCPSSR              [REPORT REPLY & STORE IN FIXED   
3=3= ...      CALL  6  PARAVET             [GET & VET NEXT PERCENTAGE(&OCP) 
3=GW ...      BRN      XITCOM              [J IF NO PARAS, FINISHED 
3?2G ...      BRN      NOCPERR             [J IF PERCENT, BUT NO OCP - ERROR
3?G6 ...      BRN      RATIO               [J IF PERCENTAGE AND OCP 
3?^Q ...ZEROCP  
3#FB ...      CALL  7  SETALL   
3#^2 ...      LDX   0  APROCNO  
3*DL ...      ANDX  0  #77  
3*Y= ...      BXL   0  XDUALS(1),SKIPOCP   [J IF NOT DUALS  
3BCW ...      CALL  5  REPALL   
3BXG ...      BRN      XITCOM   
3CC6 ...#                       NOT DUALS. COMMAND OR INTERNAL  
3CWQ ...SKIPOCP 
3DBB ...      STO   4  CMEMILLALL   
3DW2 ...      OUTPACK  4,1,NUMA 
3F*L ...      CALL  5  REPORTN             [OUTPUT MESSAGE  
3FT= ...      BRN      XIT  
3G#W ...#                       INTERROGATION - COMMAND OR INTERNAL 
3GSG ...QUERY   
3H#6 ...      CALL  7  SETQALL  
3HRQ ...      LDX   0  APROCNO  
3J?B ...      ANDN  0  #77  
3JR2 ...      BXL   0  XDUALS(1),SKIPOCP   [J IF NOT DUALS  
3K=L ...      CALL  5  REPALL   
3KQ= ...      OCPSMILL 4,AWORK2(2),OCPSSR   
3L9W ...      BRN      XIT  
3LPG ...#   
3M96 ...#                       ENTRY IN EMS, INTERNAL INTERROGATION
3MNQ ...#   
3N8B ...XENT2   
3NN2 ...      STOZ     AWORK1(2)
3P7L ...      BRN      QUERY
3PM= ...XIT 
3Q6W ...      LDX   0  AWORK1(2)
3QLG ...      BZE   0  XITUP               [J IF NOT COMMAND
3R66 ...XITCOM  
3RKQ ...     ENDCOM 
3YG2    XITUP   
3Y^L          UP
3^F=    #                     ERROR ROUTINES
3^YW    NOTCME  
42DG          CALL  3  XERR 
42Y6 ...               +JENVMUSTNT,-1   
43CQ    PERERR  
43XB          CALL  3  XERR 
44C2                   +CMEMERR1,-1 
44WL    OCPERR  
45B=          CALL  3  XERR 
45TW                +CMEMERR2,-1
46*G    NOCPERR 
46T6          CALL  3  XERR 
47#Q                   +JPARMIS,+CMEOCP 
47SB    NLPERR  
48#2          CALL  3  XERR 
48RL                   +JPARNULL,+CMEPER
49?=    NLOCPERR
49QW          CALL  3  XERR 
4==G                   +JPARNULL,+CMEOCP
4=Q6    XERR
4?9Q          COMERRX  0(3),1(3)           [REPORT ERROR & RETURN TO CP 
4?PB    #END
^^^^ ...553347270022