{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: PCTMES8)}}
====== PCTMES8 ======
(George Source)
**Macros used:** [[george:macro:ALTLEN|ALTLEN]], [[george:macro:CHAIN|CHAIN]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:UP|UP]]
22FL #LIS K0PCTMES>K0PCT>K0ALLGEO>K0GREATGEO
22^= #SEG PCTMES8 [G CONSTANTINIDES
23DW 8HPCTMES8
23YG # ENTRY POINTS
24D6 SEGENTRY K1PCTMES,Z1PCTMES
24XQ MENDAREA APCTGAP,K100PCTMES
25CB [
25X2 [ THIS SEGMENT IS ENTERED WHEN A CONSOLE CATEGORY MESSAGE IS TO BE
26BL [ SENT TO A REMOTE TELE-TYPE. THE SEGMENT GETS AN A7020/CONSOUT BLOCK
26W= [AND MOVES THE MESSAGE (IN CONBUF/IREMTW) AND TRANSMISSION
27*W [CHARACTERS INTO IT AT COUTBUFF ONWARDS.THE ROUTING BLOCK IS THEN CHAIND
27TG [TO THE FRONT - NEXT TO THE ACTIVITY.
28*6 #
28SQ #
29#B X35 +35 [MAXIMUM MESSAGE LENGTH (+2)
29S2 XDELTA #74 [TO BE CONVERTED TO DELTA SHIFT
2=?L #
2=R= #
2?=W NLETX #76327635 [NL(FE2), CR(FE5)
2?QG #76047623 [DC4, ETX
2#=6 #
2#PQ #
2*9B Z1PCTMES [TO PREPARE A MESSAGE FOR OUTPUT TO
2*P2 [A 7023 TELE-TYPE.
2B8L #
2BN= STOZ AWORK1(2) [PRESET THE MESSAGE BUFFER REMEM.
2C7W MHUNTW 3,CONBUFF,IREMTW
2CMG LDX 4 A1(3)
2D76 ANDN 4 #7777 [WD CT
2DLQ SLL 4 2
2F6B STO 4 AWORK4(2) [CHAR CT OF MSGE.
2FL2 NXBLOCK
2G5L SETNCORE COUTBUFF-COUTREP+1+32,3,A7020,CONSOUT,1 [GET THE BUFFER
2GK= STO 3 AWORK2(2) [REMEMBER BUFFER BLOCK ADDRESS
2H4W MHUNTW 2,CONBUFF,IREMTW
2HJG SMO FX2 [REMEMBER THE MESSAGE
2J46 STO 2 AWORK3 [BLOCK ADDRESS
2JHQ SLL 2 2 [PREPARE POINTER
2K3B SMO FX2 [TO POINT TO THE NEXT
2KH2 ADX 2 AWORK1 [MESSAGE CHARACTER
2L2L SRC 2 2 [TO BE TRANSFERED
2LG= LDN 0 #76 [MOVE
2L^W DCH 0 COUTBUFF(3) [IN THE
2MFG BCHX 3 £ [THE
2M^6 LDN 0 #22 [START OF
2NDQ DCH 0 COUTBUFF(3) [MESSAGE
2NYB BCHX 3 £ [CHARACTERS
2PD2 SMO FX2 [MESSAGE
2PXL LDX 6 AWORK4 [LENGTH
2QC= BZE 6 MESSEND [IF NO CHARS,J TO SEND N/L ONLY
2QWW LDN 4 128-10 [BUFFER COUNT
2RBG LDN 5 80 [TRANSMISSION BLOCK COUNT
2RW6 LDN 7 72 [PRINT LINE COUNT
2S*Q NXCH LDCH 0 ICBUFF(2) [GET THE NEXT MESSAGE CHARACTER
2STB TXL 0 XDELTA(1) [IS THE CHARACTER TO BE IN
2T*2 BCC ZDELTA [DELTA SHIFT
2TSL DCH 0 COUTBUFF(3) [INSERT IT IN THE BUFFER
2W#= BCHX 2 £ [STEP THE BUFFER AND MESSAGE
2WRW BCHX 3 £ [BLOCK POINTERS
2X?G XDELT SBN 6 1 [REDUCE
2XR6 BZE 6 MESSEND [MESSAGE COUNT
2Y=Q SBN 4 1 [REDUCE
2YQB BZE 4 XEND [BUFFER COUNT
2^=2 SBN 7 1 [REDUCE
2^PL BZE 7 XEND [THE PRINTLINE COUNT
329= BCT 5 NXCH [REDUCE TRANSMISSION BLOCK COUNT
32NW XEND LDX 1 2 [REMEMBER POINTER TO MESSAGE BLOCK
338G SMO FX1 [MOVE
33N6 LDN 2 NLETX [IN
347Q ADN 3 COUTBUFF [THE END
34MB MVCH 2 8 [OF MESSAGE CHARACTERS
3572 LDX 2 FX2 [RESET THE ACTIVITY POINTER
35LL STO 6 AWORK4(2) [RETAIN THE COUNT
366= LDX 0 AWORK3(2) [POINTER TO THE MESSAGE BLOCK
36KW SLC 0 2 ["ITS CHARACTER POSITION"
375G SLC 1 2 [LENGTH OF THE MESSAGE
37K6 SBX 1 0 [TRANSFERED
384Q STO 1 AWORK1(2) [REMEMBER THIS LENGTH
38JB SMO AWORK3(2) [CALCULATE
3942 LDX 4 A1 [THE SIZE OF MESSAGE
39HL SRL 1 2 [STILL TO BE
3=3= SBX 4 1 [TRANSFERED
3=GW LDX 3 AWORK2(2) [POINTER TO THE BUFFER BLOCK
3?2G BRN NXBLOCK [NOW GO FOR THE NEXT MESSA&E BLOCK
3?G6 #
3?^Q ZDELTA
3#FB LDN 1 #76 [DEPOSIT A DELTA SHIFT CHARACTER
3#^2 DCH 1 COUTBUFF(3) [IN THE BUFFER
3*DL LDX 1 FX1 [RESET X1
3*Y= BCHX 3 £ [STEP THE BUFFER POINTER
3BCW SBN 0 #10 [ADJUST THE MESSAGE CHARACTER
3BXG DCH 0 COUTBUFF(3) [AND DEPOSIT THAT IN THE BUFFER
3CC6 BCHX 3 £ [STEP THE BUFFER AND
3CWQ BCHX 2 £ [MESSAGE BLOCK POINTETERS
3DBB BCT 4 XDELT [HAS THE BUFFER COUNT BEEN
3DW2 BRN XEND [EXHAUSTED?
3F*L #
3FT= MESSEND
3G#W LDN 2 NLETX(1) [MOVE IN
3GSG ADN 3 COUTBUFF [THE END
3H#6 MVCH 2 8 [OF MESSAGE
3HRQ LDX 2 FX2
3J?B SLC 3 2
3JR2 ADN 3 11
3K=L SRL 3 2 [ADDR OF LAST WD USED
3KQ= SBX 3 AWORK2(2) [LOGICAL LENGTH REQD
3L9W LDN 0 4(3)
3LPG TXL 0 ALOGLEN(2)
3M96 BCC RECHAIN [J IF ITS NOT WORTH LENGTH CHANGE
3MNQ ALTLEN AWORK2(2),3 [SHORTEN BLOCK
3N8B RECHAIN
3NN2 MHUNTW 3,CONBUFF,IREMTW
3P7L CHAIN 3,2 [RE-CHAIN NEXT TO ACT
3PM= UP [FINISH OF THE "OUTPUT"
3Q6W #
3QLG #
3R66 #END
^^^^ ...22741506000100000000