{{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