{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: ANSCOM865)}}
====== ANSCOM865 ======
(George Source)
**Macros used:** [[george:macro:BXGE|BXGE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CHECKLFN|CHECKLFN]], [[george:macro:CHNUMCOD|CHNUMCOD]], [[george:macro:COMERR|COMERR]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:FCAJO|FCAJO]], [[george:macro:FINDJOBQ|FINDJOBQ]], [[george:macro:FSHCODE|FSHCODE]], [[george:macro:FSHENTRY|FSHENTRY]], [[george:macro:FSHSKIP|FSHSKIP]], [[george:macro:HUNT|HUNT]], [[george:macro:HUNT2J|HUNT2J]], [[george:macro:HUNTW|HUNTW]], [[george:macro:INFORMX|INFORMX]], [[george:macro:JBS|JBS]], [[george:macro:LONGON|LONGON]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNT|MHUNT]], [[george:macro:OUTBLOCK|OUTBLOCK]], [[george:macro:OUTPARAM|OUTPARAM]], [[george:macro:PARANUMB|PARANUMB]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SPARABEG|SPARABEG]], [[george:macro:SPARUNAC|SPARUNAC]], [[george:macro:TESTRPN2|TESTRPN2]], [[george:macro:TRACE|TRACE]], [[george:macro:TRANSBEG|TRANSBEG]], [[george:macro:TRANSFIN|TRANSFIN]], [[george:macro:WRONG|WRONG]]
22FL #LIS K0ANSCOM
22^= ...#SEG ANSCOM50 [RUTH PORTER
23DW 8HANSCOM
23YG SEGENTRY K1ANSCOM,SENTRY1
248# ... FSHENTRY K2ANSCOM,SENTRY2,,SENTRY2
24D6 # PARAMETERS OF THE SEGMENT
24XQ #DEF VLENGTH=11 [LENGTH OF 'DISPLAY'BLOCK
25CB #DEF VCHARS=A1 [POSN OF CHAR COUNT
25X2 #DEF VMESS=A1+1 [& MESSAGE IN'DISPLAY'BLOCK
26W= Q2 +2
27*W Q4 +4
27TG ZJ1 +JZANSC
28*6 Q41 +41 [MAX LENGTH OF 'DISPLAY' MESSAGE
29S2 PJLEN +ASTJOB [SIZE OF SHORT JOB BLOCK
2=?L STRING +1
2=R= 4H: [COLON IGNORED WHEN USER NAME PASSED
2?QG # ANSWER COMMAND.IF A MOP USER ANSWERS,A CHECK IS MADE TO SEE IF HE HAS
2#=6 # ASKED A QUESTION AND,IF SO,HIS ANSWER IS WRITTEN TO THE QUESTION BLOCK
2#PQ # OTHERWISE,THE JOB QUEUE IS SEARCHED FOR AN ENTRY CORRESPONDING TO
2*9B # THE USER NAME,JOB NAME SPECIFIED IN THE ANSWER COMMAND.IF SUCH AN
2*P2 # ENTRY IS FOUND,THE JOB NO IS USED TO LOCATE THE APPROPRIATE CPA.
2B8L # THE ROUTINE THEN HUNTS FOR AN ASSOCIATED QUESTION BLOCK.IF FOUND,
2BN= # THE ANSWER IS WRITTEN TO THIS BLOCK.THEN,ACTIVITIES WAITING FOR AN
2C7W # ANSWER ARE WOKEN UP.
2CMG # IF BREAKIN GIVES THE ANSWER WHEN THE QUESTION HAS BEEN SENT TO THE
2D76 # OPERATOR,THIS ANSWER IS OUTPUT TO THE OPERATOR.
2DLQ SENTRY1
2F6B #SKIP K6ANSCOM>99-99
2FL2 TRACE 1,ANSWER
2G5L PARANUMB 3 [NO OF PARAMS
2GK= ... LDX 0 CONTEXT(2)
2H4W ... ANDN 0 #60
2HJG ... BZE 0 ZC8 [JUMP UNLESS OPERATOR CONTEXT
2J46 ... BXGE 3 Q2(1),ZC13
2K3B COMERR JPARMIS,JUSERJOB [USER/JOB NAME PARAMETER MISSING
2K?8 ...[
2KH2 ...ZC8 BXL 3 Q2(1),ZC12
2LG= COMERR JONEPAR [ONLY ONE PARAMETER ALLOWED
2LQ4 ...[
2L^W ZC12 SPARAPASS
2MFG BRN ZC9
2MKY ...ZC13
2MQB ...[ OPERATOR CONTEXT - LOOK FOR USERNAME
2MWS ... SPARABEG 1,STRING(1)
2N3= ... MHUNT 3,CPB,CUNI
2N7N ... LDX 4 ANUM(3)
2N#6 ... BNG 4 NUMB [J IF NO USERNAME
2NDQ CHECKLFN ZC2,ZC7
2NYB ... LDX 0 ACES
2PD2 ... STO 0 AWORK1(2) [SPACE FILL USER NAME
2PXL ... STO 0 AWORK2(2) [DUMP AREA
2QC= ... STO 0 AWORK3(2)
2QWW ... HUNT 3,CPB,CUNI [FIND USER NAME
2XR6 ... LDN 5 APARA(3)
2Y=Q ... LDN 6 AWORK1(2)
2YQB ... LDEX 4 ANUM(3)
2^=2 SMO 4
2^PL MVCH 5 0 [USER NAME TO WORKING BLOCK
3243 ...[
32BD ...[ NOW GET JOB NAME
32NW SPARUNAC [PASS JOB NAME
347Q CHECKLFN ZC2,ZC7
34K9 ... HUNT 3,CPB,CUNI
352N ... LDN 0 APARA(3)
35D7 ... LDX 5 ACES [SPACE FILL JOB NAME DUMP
35TL ... LDX 6 ACES
36?5 ... LDX 7 ACES
36NJ ... LDN 1 5
3763 ... LDEX 4 ANUM(3)
37HG ... SMO 4
37Y^ ... MVCH 0 0 [JOB NAME TO DUMP
38BD ... LDX 1 FX1 [JUST TO BE SAFE
38BG ... BRN SEARCH
38BJ ...
38BL ...[
38BN ...NUMB
38BQ ...[ CHECK JOB NUMBER
38BS ... SPARAPASS [GET 1ST PARAM
38BW ... MHUNT 3,CPB,CUNI
38BY ... LDX 4 ANUM(3)
38C2 ... BNG 4 NOJOB [J IF NULL OR NON-EXISTENT
38C4 ... BZE 4 NOJOB
38C6 ... CHNUMCOD 1,3 [CONVERT
38C8 ... TESTRPN2 OK,WRNUMB [J IF NOT VALID NUMBER
38C= ... LDX 4 ACOMMUNE1(2)
38C# ... STO 4 AWORK1(2) [STORE JOB NO IN AWORK1
38CB ...[
38CD ...[
38CG ...SEARCH
38CR ... FSHCODE B,XFSHBANS
38F6 ...(
38GF ... TRANSBEG FSHANSWER,ANSCOM,2,CLB,,ACOMMUNE1
38HS ... BRN ZC7
38K7 ...XFSHBANS
38LG ...)
38MT ... FSHSKIP B,XFSHNBANS1
38P8 ...(
38QH ...SENTRY2
38Q^ ... LDX 4 AWORK1(2) [USERNAME OR JOB NO
38RC ... BPZ 4 REPLY [J IF JOB NO
38RX ... LDN 3 BJOBQ [SEARCH FOR JOB BLOCK
399B ...ROUND LDX 3 FPTR(3)
39LT ... BXU 3 CXJO,MID
39R# ...XFSHNBANS1
39XR ...)
3=4# ...ZC2
3=FR ...NOJOB COMERR JZNOJOB [ERROR BE NOT FOUND
3=L= ... FSHSKIP B,XFSHNBANS2
3=QP ...(
3=X= ...MID JBS ROUND,3,JBSAVING [IGNORE IF BEING SAVED =7 BG JOB
3?#P ... TXU 5 JNAME(3)
3?Q8 ... TXU 6 JNAME+1(3)
3#7M ... TXU 7 JNAME+2(3)
3#K6 ... BCS ROUND [J IF JOB NAME MISMATCH
3*2K ... LDX 0 AWORK1(2)
3*D4 ... LDX 1 AWORK2(2)
3*TH ... LDX 4 AWORK3(2)
3B?2 ... TXU 0 JUSER(3)
3BNF ... TXU 1 JUSER+1(3)
3C5Y ... TXU 4 JUSER+2(3)
3CHC ... BCS ROUND [J IF USER NAME MISMATCH
3CW3 ... LDX 4 JOBNUM(3) [KEEP JOB NUMBER
3D8M ...[
3DH? ...REPLY
3DW2 SPARAPASS [ANSWER MESSAGE
3G#W ...[NOW FIND CPAT ETC
3GSG ... FINDJOBQ 3,4,NOJOB
3H#6 ... FCAJO 2,3 [X2 -> CPAT
3HRQ ... LDX 7 JSOURCE3(2) [SAVE FOR LATER
3HYY ...XFSHNBANS2
3J66 ...)
3J?B ...ZC9 [USER CONTEXT ANSWER JOINS HERE
3JR2 ... HUNT2J 3,APED,AQUESTION,2,ZC15
3K=L ... LDX 2 FX2
3KQ= ... LDX 0 VCHARS(3)
3L9W ... ADN 0 1
3LPG ... BZE 0 ZC6 [J IF QN ASKED
3N8B ZC15
3NN2 COMERR JZNOQUES [JOB HAS NOT ASKED A QUESTION
3P7L ZC6 LDX 4 VMESS(3)
3PM= HUNT 2,CPB,CUNI [FIND MESSAGE PARAM
3Q6W LDX 6 ANUM(2) [NO OF CHARS
3QLG ... BPZ 6 ZA5
3RKQ LDN 6 0
3S5B ZA5 ANDN 6 #7777
3SK2 ... BXL 6 Q41(1),ZC14
3TJ= LDN 6 40
3TLT ...[NOW WE CHECK ROUTING PARAMETERS AND CLUSTERS
3TPD ...[ IF ROUTING WAS 0,ONLY USER MAY ANSWER
3TS3 ...[ 1 OR 3,USER,CENTRAL OR CORRECT CLUSTER
3TWL ...[ 2,ONLY USER OR CENTRAL
3T^9 ...ZC14 LDX 2 FX2
3W3S ... LDX 0 CONTEXT(2)
3W6C ... ANDN 0 #60
3W92 ... BZE 0 NOTOP [J IF NOT OPERATOR
3W?K ... SBN 4 4
3WB8 ... BZE 4 WRONG [J IF ROUTING WAS ZERO - ERROR
3WDR ... LDX 0 JSOURCE3(2)
3WHB ... BZE 0 OK [J IF CENTRAL -OK
3WK^ ... ADN 4 2
3WNJ ... BZE 4 WRONG [J IF WAS ROUTING 2 -ERROR
3WR7 ... BXU 0 7,WRONG [J IF NOT RIGHT CLUSERT
3WTQ ...NOTOP
3WY* ...OK LDX 7 CONTEXT(2)
3X36 ANDN 7 #60
3XGQ BNZ 7 ZC10 [JUMP IF OPERATORS CONSOLE
3Y2B TXU 4 Q4(1)
3YG2 BCC ZC10 [JUMP IF ORIGINAL ROUTING PARAM. ZERO
3Y^L LDN 7 19
3^F= OUTBLOCK 7
3^YW OUTPARAM 6,APARA,CPB,CUNI
42DG HUNTW 3,APED,AQUESTION
42Y6 OUTPARAM A1+11(3),A1+12,APED,AQUESTION
43CQ INFORMX 4,ZJ1(1),1 [ANSWER TO OPERATOR(S)
43JY ... HUNTW 3,APED,AQUESTION
43Q6 ...ZC10
43XB HUNT 2,CPB,CUNI [FIND MESSAGE PARAM
44C2 ... CALL 7 XMON [ANSWER TO QUESTION BLOCK
45B= LONGON FORANS [WAKE UP ACTIVITIES AWAITING ANSWERS
45TW #SKIP K6ANSCOM>99-99
46*G TRACE 1,ANSEND
46D5 ...ZC7
46GN ... FSHCODE A,XFSHAANS
46K? ...(
46MW ... TRANSFIN ,,ALIEN [RETURN IF ON ALIEN MACHINE
46QF ...XFSHAANS
46T4 ...)
46XM ... ENDCOM
472# ...WRONG
477G ... COMERR CLUSANS
478H ...WRNUMB
479J ...[ INVALID JOB NO
47=K ... COMERR GENERR,JINVJNO
47?L ...[
47#Q # TRANSFERS MESSAGE PARAM INTO BLOCK GIVEN BY X3.
47SB XMON
48#2 LDX 5 6 [NO OF CHARS TO BE MOVED
48RL ZA3 STO 5 VCHARS(3)
49?= BZE 5 ZA4 [JUMP IF NULL MESSAGE
49QW ADN 2 APARA [MOVE MESSAGE
4==G ADN 3 VMESS
4=Q6 ADN 5 3
4?9Q SRL 5 2
4?PB SMO 5
4#92 MOVE 2 0
4#NL ZA4 EXIT 7 0
4*8= XMEND
4*MW MENDAREA 20,GAPANSCOM
4B7G #END
^^^^ ...65601676000300000000