{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: INMOP867)}}
====== INMOP867 ======
(George Source)
**Macros used:** [[george:macro:ADDREC|ADDREC]], [[george:macro:ADJUSTLK|ADJUSTLK]], [[george:macro:BACKSPACE|BACKSPACE]], [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:CAPCA|CAPCA]], [[george:macro:CAPCAX|CAPCAX]], [[george:macro:CATMASK|CATMASK]], [[george:macro:CHAIN|CHAIN]], [[george:macro:CLEAR|CLEAR]], [[george:macro:CLEARPE|CLEARPE]], [[george:macro:COOR1X|COOR1X]], [[george:macro:FADDRESS|FADDRESS]], [[george:macro:FCAPCA|FCAPCA]], [[george:macro:FINDACTNO|FINDACTNO]], [[george:macro:FJOPCA|FJOPCA]], [[george:macro:FPUT|FPUT]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:HUNT2|HUNT2]], [[george:macro:HUNT2B|HUNT2B]], [[george:macro:ILLEGAL|ILLEGAL]], [[george:macro:INCHECK|INCHECK]], [[george:macro:LINKSET|LINKSET]], [[george:macro:MASK|MASK]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:OLMF|OLMF]], [[george:macro:OLMFA|OLMFA]], [[george:macro:OUTMONX|OUTMONX]], [[george:macro:OUTNULL|OUTNULL]], [[george:macro:OUTPACK|OUTPACK]], [[george:macro:PCAPLUG|PCAPLUG]], [[george:macro:PERTYPNO|PERTYPNO]], [[george:macro:PROGBRKIN|PROGBRKIN]], [[george:macro:READ|READ]], [[george:macro:READY|READY]], [[george:macro:RUNPROG|RUNPROG]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:SPRIVTEST|SPRIVTEST]], [[george:macro:STEPBACK|STEPBACK]], [[george:macro:SUBREC|SUBREC]], [[george:macro:SUPNLIN|SUPNLIN]], [[george:macro:SUPNLOUT|SUPNLOUT]], [[george:macro:TESTBRKIN|TESTBRKIN]], [[george:macro:UNPLUG|UNPLUG]], [[george:macro:UP|UP]], [[george:macro:UPPLUS|UPPLUS]], [[george:macro:WHERETO|WHERETO]]
229S ... SEG INMOP,867,SECT.FILE,,G505
22FL #OPT K0INMOP=0
22^= #LIS K0INMOP>K0OBJPROG>K0PERIS>K0ALLGEO>K0GREATGEO
2375 ...[
23#Y ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
23GR ...[ THIS EXCLUDES CODE UNDER #SKI G505
23NL ...[
23WF ...#OPT G505 = 0
244# ...#SKI G505&1
24=7 ...# WITH UGUG EDIT M505 (3-SHIFT WORKING FOR MOP ONLINE PROGRAMS)
24D6 SEGENTRY K1INMOP,XIN1
24XQ SEGENTRY K2INMOP,XIN2
25CB SEGENTRY K3INMOP,XIN3
25X2 #
26BL # THIS SEGMENT DEALS WITH THE MACRO INMOP. IT GETS THE INFO. INTO
26W= # A UNIVERSAL BLOCK READY FOR INPUTTING INTO THE OBJECT PROGRAM. IT
27*W # DEALS ONLY WITH INPUT FROM MOP JOBS OR IMBEDDED DATA IN JDF'S.
27TG #
282N ...#SKI G505&1
287W ...XCCS2 #27060000 [ CURSOR/SHIFT BITS
28*6 XSPACE #202020
28SQ MASK #30000000
29#B XCAT CATMASK ONLINE,OBJECT
29S2 XIN1
2=?L UNPLUG
2=R= #SKI G4
2?=W CAPCAX [CHANGE FROM PCA TO CPA.
2?QG #SKI G3
2#=6 CAPCA [CHANGE FROM PCA TO CPA.
2#PQ LDXC 5 5 [PERI TYPE/UNIT NO WITH B0 SET
2*9B BCS £
2*?# ...#SKI G505&1
2**= ...(
2*C8 ... LDX 0 6
2*F6 ... LDX 4 CPATUWORD(2)
2*H4 ... ANDX 0 XCCS2(1)
2*K2 ... ORS 0 CPATUWORD(2) [ SET REQ'D BITS FOR CHANG
2*LY ...)
2*P2 STO 7 AWORK1(2) [AWK1=ACT.NO. OF AOLPT.
2B8L STO 6 AWORK4(2) [AWK4=IDENTIFY OR NOT N/L SUP.OR NOT
2BN= LDX 7 CONTEXT(2) [LD. THE CONTEXT OF THE DATA
2C7W SRC 7 3
2CMG BNG 7 XJDF [J. IF A JOB DESCRIPTION.
2D76 SRC 7 1
2DLQ BNG 7 XMOP [J. IF MOP CONSOLE
2F6B GEOERR 1,NJDF MOP
2FL2 XMOP
2G5L LDX 0 6
2GK= SLL 0 2
2H4W BPZ 0 XMOPA [J. IF NO NEWLINE SUPPRESSION.
2HJG SUPNLIN [SPECIAL CR MACRO.
2J46 XMOPA
2JHQ BPZ 6 XNUL [J. NO IDENTIFY REQUIRED
2K3B OUTPACK 5,1,PERINAME [PERI TYPE AND UNIT NO
2KH2 XREDY
2L2L READY ZBREAK [J. TO ZBREAK IN CASE
2L7S ...#SKI G505&1
2L*2 ... STO 4 CPATUWORD(2) [CLEAR SHIFT FLAG FOR MONOUTS ETC.
2LG= XOUT
2L^W PCAPLUG ZBREAK,FILE,FRB
2MFG FINDACTNO 3,AWORK1(2) [HUNT FOR THE AOLPT GIVEN THE ACNUM.
2M^6 INCHECK HLOCK1,MGEO,3
2NDQ INCHECK HLOCK2,MGEO,3
2NYB CLEAR 2,2
2PD2 MHUNTW 1,FILE,FRB
2PXL CHAIN 1,3
2QC= LDX 2 3
2QWW LDN 0 1
2RBG ADJUSTLK 2 [RE-SET LINKS
2RW6 FPUT [EXIT BACK
2S*Q LINKSET 2,GVFN [SET LINK
2STB COOR1X
2T*2 MGEO GEOERR 1,HLOCKERR
2TSL XNUL OUTNULL [OUTNULL BECAUSE OF _ FOR READY.
2W#= BRN XREDY
2WRW XFIDL
2X?G SBX 6 FX1 [X6=LINK WD.
2XR6 XJ HUNT2 2,CPB,CALAS [THIS SUBROUTINE
2Y=Q LDEX 4 CPBCPLEV(2)
2YQB BNZ 4 XJ
2^=2 LDX 0 CPBFSD(2)
2^PL BPZ 0 XER
329= SMO FX1
32NW ANDX 0 MASK
338G BNZ 0 XLEV
33N6 #SKI G4
347Q CLEARPE
34MB XER ILLEGAL NOJS
3572 XLEV ADN 4 1
35LL HUNT2B 2,CPB,CALAS
366= LDEX 0 CPBCPLEV(2)
36KW BXE 0 4,OKLEV [J. IF LEVELS THE SAME.
375G GEOERR 1,WRONGLEV
37K6 OKLEV LDX 3 CPBFSD(2)
384Q ANDN 3 #77
38JB NGX 3 3
3942 ADX 6 FX1
39HL EXIT 6 0 [EXIT FROM THE FIDDLE
3=3= XJDF [ROUTINE TO DEAL WITH INPUT IN THE JD
3=GW STO 5 AWORK2(2) [ST. IDENTIFIER
3?2G CALL 6 XFIDL [CALL SUBROUTINE TO HUNT FILE LEV
3?G6 ADDREC 2,5 [INCREASE NO. OF REC.READ BY ONE.
3?^Q READ 0(3)
3#FB MHUNTW 1,FILE,FRB [HUNT BLK. CONTAINING DATA
3#^2 LDX 0 A1(1)
3*DL BNZ 0 XOUT
3*Y= XFEND
3BCW CALL 6 XFIDL [CALL SUBROUTINE TO GET FILE DEPTH
3BXG SUBREC 2,5 [DECREASE CT. OF NO. OF RECORDS READ
3CC6 BACKSPACE 0(3) [BACKSPACE THE FILE PTR.
3CF4 LDCT 6 #377
3CH2 ANDX 6 AWORK2(2) [PICK UP PERIPHERAL TYPE.
3CJY SRL 6 15
3CLW SBN 6 #62
3CNS BZE 6 XOUT [J IF FILE READER OR FILEHANDLER SO
3CQQ SBN 6 2 [THAT FHOBJ CAN GIVE APPROPRIATE END
3CSN BZE 6 XOUT [OF FILE REPLY INSTEAD OF ILLEGAL.
3CWQ LDX 6 AWORK2(2) [LD. INDICAT_ FOR IDENTIFY OR NOT
3DBB #SKI G4
3DW2 CLEARPE
3F*L OUTPACK 6,1,PERINAME [PERI TYPE AND UNIT NO
3FT= ILLEGAL FILE [ILLEGAL READ OFF END OF JDF.
3G#W ZBREAK
3GG4 ...#SKI G505&1
3GM= ... STO 4 CPATUWORD(2)
3GSG #SKI G4
3H#6 CLEARPE
3HRQ STEPBACK [STEP BACK THE OBJ.PROG.
3J?B PROGBRKIN
3J*K ...#SKI G505&1
3JCS ...(
3JG3 ...# THE ACTION OF THE OUTMOP MACRO HAS BEEN MODIFIED SO THAT
3JJ= ...# SHIFT SETTINGS OF THE DEVICE AND PERI ARE REMEMBERED IN X7.
3JLF ...# THESE ARE TRANSFERRED TO THE CPAT FOR USE BY IPBMOP..
3JNN ...)
3JR2 # THIS ENTRY POINT DEALS WITH OUTMOP MACRO.
3K=L XIN2
3KQ= LDX 1 APETADDR(2)
3L9W LDX 3 ACAP(2) [CONTROL AREA POINTER
3LPG ADN 3 1
3M96 FADDRESS 1,3,HLOCK1
3MNQ STOZ 0(3) [CLEAR REPLY WORD
3N8B LDX 0 IDENTIND(2) [LD. IDENTIFIER OR NOT INDICATOR.
3N#? ...#SKI G505&1
3ND8 ... BPZ 0 ONOID
3NJ5 ...#SKI G505&1$1
3NN2 BZE 0 ONOID [J. NO IDENTIFIERS
3P7L LDXC 5 IDENTINFO(2) [TYPE/UNIT NO WITH B0 SET
3PM= BCS £
3Q6W PERTYPNO 5 [CONVERT TO CORRECT FORMAT
3QLG LDX 5 ACOMMUNE9(2)
3R66 MHUNTW 3,FILE,FRB [HUNT FOR DATA BLOCK
3RKQ LDX 7 A1(3) [LD. NO. OF WDS. IN DATA + REC.HEADER
3S5B ADN 7 2
3SK2 SETUPCORE 7,1,FILE,FRB
3T4L HUNT2 3,FILE,FRB,1 [HUNT FOR OUTPUT
3TJ= LDX 6 1
3W3W LDN 4 #32
3WHG SLL 45 18
3X36 STO 4 A1+2(1) [ST. IDENTIFY INTO BLOCK.
3XGQ STO 5 A1+3(1)
3Y2B LDN 5 A1+3(1)
3YG2 BCHX 5 £ [LD. POSITIONS FOR MOVE
3Y^L LDN 4 A1+2(3)
3^F= SBN 7 4
3^YW LDCT 0 #600
42DG ANDX 0 A1+1(3)
42Y6 BZE 0 OZ2
43CQ SBN 7 1 [CALC. NO. OF CHARS. TO MOVE
43XB OZ2 SLC 70 2
44C2 LDX 0 A1+1(2)
44WL ANDX 0 BITS22LS
45B= STO 0 A1+1(1)
45TW LDEX 0 7
46*G SRL 7 9
46T6 BZE 0 OZ3
47#Q SMO 0
47SB MVCH 4 0 [MOVE DATA INTO NEW BLOCK
48#2 OZ3 BZE 7 OZ5
48RL OZ4 MVCH 4 512 [MOVE DATA IF GREATER THAN 512
49?= BCT 7 OZ4
49QW OZ5 FREECORE 3 [FREE OLD BLK
4==G LDX 3 6
4=Q6 LDX 1 5
4?9Q SBN 5 A1(3) [CALC LAST WD.
4?PB LDN 6 0
4#92 SLC 56 2
4#NL SRL 5 2
4*8= BZE 6 OZ6
4*MW SRC 6 2
4B7G ORS 6 A1+1(3)
4BM6 ADN 5 1
4C6Q LDN 0 #20
4CLB OZ7 DCH 0 0(1) [SPACEFIL LAST WD.
4D62 BCHX 1 £
4DKL BXGE 1 BITS22LS,OZ7
4F5= OZ6 LDX 1 FX1
4FJW STO 5 A1(3)
4G4G ONOID
4GJ6 FJOPCA 1,APETADDR(2)
4H3Q SPRIVTEST JSSTART,1,OMON [J. IF NOT SYSTEM STARTED
4HHB BRN OMOP
4J32 OMON FCAPCA 3,APETADDR(2) [FIND PTR. TO CPA GIVEN PTR. TO PCA
4JGL LDX 1 FX1
4K2= WHERETO 3,XCAT(1),OMOP [OUTPUT TO MOP IS REQUIRED
4KFW [OUTPUT TO MONITORING FILE IS REQUIRE
4K^G LDX 0 XCAT(1)
4LF6 STO 0 AWORK2(2) [ST. CATAGORY WORD.
4LYQ MHUNTW 1,FILE,FRB [HUNT FOR THE BLK. CONTAINING DATA.
4MDB LDX 0 A1(1) [LD. CT. OF NO. OF WDS.
4MY2 STO 0 AWORK1(2)
4NCL OLMF AWORK1(2),AWORK2(2),OFULL [FIND ROOM IN MON FILE
4NX= MHUNTW 1,FILE,FRB [X3=PTR. TO AREA IN MON.FILE.
4PBW LDX 5 AWORK1(2) [LD. COUNT OF WDS.
4PWG LDN 2 CPDATA
4QB6 ADX 2 1 [DATA FROM WHICH TO MOVE.
4QTQ SBN 5 2
4R*B BZE 5 ODAT [NO DATA SO J.
4RT2 SMO 5
4S#L MOVE 2 0 [MOVE DATA TO MON.FILE.
4SS= ODAT OLMFA [CHECK REPLY WD.
4T?W OFULL MFREE FILE,FRB [FREE BLK HOLDING DATA
4TRG UP [EXIT BACK TO THE MACRO.
4W?6 OMOP UPPLUS 1
4W** ...#SKI G505&1
4WCJ ...(
4WFR ...#
4WJ2 ...TMASK #07070000 [ SHIFT INDICATORS FROM IDENTIND
4WL9 ...# [ THIS IS RE-ENTRY POINT FROM OUTMOP
4WND ...)
4WQQ XIN3
4X=B UNPLUG
4XQ2 #SKI G4
4Y9L CAPCAX FILE,FRB [CHANGE FROM PCA TO CPA TAKING BLOCK
4YP= #SKI G3
4^8W CAPCA FILE,FRB [CHANGE FROM PCA TO CPA TAKING BLOCK
4^NG MHUNTW 3,FILE,FRB [HUNT FOR THE FILE/FRB
5286 LDN 6 A1+2 [BEGINING OF DATA
52MQ #SKI G4
537B CLEARPE
53M2 TESTBRKIN OBREAK [J. IF BREAK-IN HAS BEEN DETECTED.
53NY ...#SKI G505&1
53QW ...(
53SS ... LDX 4 7
53WQ ... ANDX 4 TMASK(1)
53YN ... LDX 5 CPATUWORD(2) [ TO RESTORE LATER
542L ... ORS 4 CPATUWORD(2) [ SET SHIFT BITS FOR MOP
544J ...)
546L SLL 7 2
54L= BPZ 7 ONONL [J. NOT SUPPRESS NEWLINE.
555W SUPNLOUT [ISSUE SUPPRESS NEWLINE MACRO.
55KG ONONL
5656 LDCT 0 #600
56JQ ANDX 0 A1+1(3) [CONVERT WD. TO CHARACTER COUNT
574B LDX 7 A1(3)
57J2 BZE 0 OZ1
583L SBN 7 1
58H= OZ1 SBN 7 2
592W SLC 70 2
59GG OUTMONX 7,6,XCAT(1),FILE,FRB
5=26 MFREEW FILE,FRB
5=7# ...#SKI G505&1
5=#G ... STO 5 CPATUWORD(2) [CLEAR SHIFT FLAG FOR MONOUTS ETC.
5=FQ RUNPROG
5=^B OBREAK [BREAK-IN ROUTINE.
5?F2 MFREEW FILE,FRB
5?YL PROGBRKIN
5#D= MENDAREA 40,K100INMOP
5#XW #END
^^^^ ...54613124000100000000