{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: CMEMILL866)}} ====== CMEMILL866 ====== (George Source) **Macros used:** [[george:macro:BXGE|BXGE]], [[george:macro:BXL|BXL]], [[george:macro:CHNUMCOD|CHNUMCOD]], [[george:macro:COMERRX|COMERRX]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:INFORM|INFORM]], [[george:macro:JENVNOT|JENVNOT]], [[george:macro:MFREE|MFREE]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MILL|MILL]], [[george:macro:MONOUT|MONOUT]], [[george:macro:OCPSMILL|OCPSMILL]], [[george:macro:OUTPACK|OUTPACK]], [[george:macro:PARAPASS|PARAPASS]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:UP|UP]] 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