ANSCOM865
(George Source)
Macros used: BXGE, BXL, BXU, CHECKLFN, CHNUMCOD, COMERR, ENDCOM, FCAJO, FINDJOBQ, FSHCODE, FSHENTRY, FSHSKIP, HUNT, HUNT2J, HUNTW, INFORMX, JBS, LONGON, MENDAREA, MHUNT, OUTBLOCK, OUTPARAM, PARANUMB, SEGENTRY, SPARABEG, SPARUNAC, TESTRPN2, TRACE, TRANSBEG, TRANSFIN, WRONG
- ANSCOM865.txt
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