Show pageBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. {{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: FINDOC867)}} ====== FINDOC867 ====== (George Source) **Macros used:** [[george:macro:CLOSE|CLOSE]], [[george:macro:DELETE|DELETE]], [[george:macro:FINDCORE|FINDCORE]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GETCOREN|GETCOREN]], [[george:macro:LONGSET|LONGSET]], [[george:macro:MASK|MASK]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNT|MHUNT]], [[george:macro:NAME|NAME]], [[george:macro:OPEN|OPEN]], [[george:macro:PHOTO|PHOTO]], [[george:macro:READ|READ]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:TESTMOVE|TESTMOVE]], [[george:macro:TESTREP|TESTREP]], [[george:macro:UP|UP]], [[george:macro:UPPLUS|UPPLUS]] <code - FINDOC867.txt>22FL #LIS K0FINDOC>K0COMMAND>K0ALLGEO>K0GREATGEO 22^= #SEG FINDOC8 [A C PUTMAN 2394 ...# (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983. 23DW 8HFINDOC 23YG SEGENTRY K1FINDOC,XFINDOC1 24D6 # 24XQ # THIS SEGMENT IS CALLED BY A ROUTINE WHICH IT IS TRYING TO LOCATE 25CB # THE DOCUMENT REQUIRED. IT SEARCHES THROUGH THE SYSTEM FILE DOCUMEN 25X2 # TO SEE IF THERE IS A RECORD FOR THIS PARTICULAR DOCUMENT NAME. A 26BL # BLOCK IS PASSED BACK TO THE CALLING ROUTINE CONTAINING THE 26W= # INFORMATION AS FOLLOWS. IF DOCUMENT HAS BEEN LOADED A COPY OF THE 27*W # RECORD IS PASSED BACK. IF NO DOCUMENT HAS BEEN LOADED THE BLOCK 27TG # WITH A ZERO RECORD IS PASSED BACK. 28*6 # 28SQ WHDR 4HHDDR 29#B WD4 +4 29S2 WDOC +16 2=?L 12HMASTER 2=R= 12HSYSTEM 2?=W +1 2?QG +1 2#=6 +0 2#PQ 12HDOCUMENT 2*9B +1 2*P2 +1 2B8L +0 2BN= #SKI GENIE 2C7W MASK #77700000 2CMG # THIS SUBROUTINE OPENS THE DOCUMENT FILE IN THE GENERAL MODE 2D76 XOPN SBX 7 FX1 2DLQ GETCOREN 16,1 [CORE FOR NAME BLOCK 2F6B FINDCORE 3 2FL2 NAME 3,FILE,FABSNB 2G5L ADN 3 A1 2GK= LDN 2 WDOC(1) 2H4W MOVE 2 16 [INSERT NAME IN BLOCK 2HJG LDX 2 FX2 2J46 OPEN OK1,GENERAL 2JHQ TESTREP OPEN,OK 2K3B GEOERR 1,FNOPN [ERROR IF FILE NOT OPENED 2KH2 OK ADX 7 FX1 2L2L EXIT 7 0 2LG= OK1 UP 2L^W # THIS SUBROUTINE CHECKS TO SEE IF 2 NAMES ARE EQUAL 2MFG TEQUAL 2M^6 SBX 7 FX1 2NDQ NWD TXL 4 WD4(1) 2NYB BCS NCH [J IF ODD CHS. ONLY LEFT 2PD2 LDX 5 A1+3(2) [OTHERWISE CHECK WORD 2PXL TXU 5 APARA(3) 2QC= BCS NXT [J IF NAMES DIFFERENT 2QWW ADN 3 1 2RBG ADN 2 1 2RW6 SBN 4 3 2S*Q BCT 4 NWD [J IF MORE CHS. LEFT 2STB BRN XDONE [OTHERWISE NAMES EQUAL 2T*2 NCH LDCH 5 A1+3(2) 2TSL LDCH 0 APARA(3) 2W#= TXU 0 5 2WRW BCS NXT [J IF NAMES NOT THE SAME 2X?G BCHX 3 £ 2XR6 BCHX 2 £ 2Y=Q BCT 4 NCH 2YQB XDONE ADX 7 FX1 2^=2 EXIT 7 1 [EXIT +1 IF THE SAME 2^PL NXT ADX 7 FX1 329= EXIT 7 0 [EXIT 0 IF NAMES DIFFER 32NW XFINDOC1 338G # THIS ENTRY POINT LOCATES AN ENTRY IN THE DOCUMENT FILE WITH GIVEN 33N6 # DOC. NAME, AND PASSES IT BACK IN A BLOCK TYPE/SUBTYPE ADATA/ADOC 347Q CALL 7 XOPN [OPEN DOC. FILE 34MB MHUNT 3,CPB,CUNI [LOCATE BLOCK WITH REQD. NAME 3572 LDCH 4 APARA(3) [GET 1ST CH. 35LL SBN 4 #12 [COLON 366= BNZ 4 SINGLE [J IF NO COLON: SINGLE FORM OF NAME 36KW NXTRD PHOTO 5 375G READ 37K6 MHUNT 2,FILE,FRB [LOCATE RECORD 384Q LDX 4 A1(2) 38JB BZE 4 NOREC [J IF ZERO REC: END OF FILE 3942 TESTMOVE 5,OK2 39HL MHUNT 3,CPB,CUNI 3=3= OK2 LDX 4 A1+1(2) 3=GW TXU 4 WHDR(1) 3?2G BCC NXTR1 3?G6 SMO FX2 3?^Q STO 2 AWORK3 [PRESERVE S.A. RECORD BLOCK 3#FB SMO FX2 [PRESERVE ADDRESS OF PARAM. BL. 3#^2 STO 3 AWORK2 3*DL LDCH 4 A1+3(2) 3*Y= SBN 4 #12 3BCW BNZ 4 NXTR [J IF NAME IN REC. NOT IN FULL FORM 3BXG LDX 4 ANUM(3) 3CC6 ANDN 4 #7777 3CWQ TXU 4 A1+2(2) 3DBB BCS NXTR [J IF NAMES HAVE DIFFERENT NO. OF CHS 3DW2 CALL 7 TEQUAL 3F*L BRN NXTR 3FT= SMO FX2 3G#W LDX 2 AWORK3 [X2=PTR. TO DOC.BLK. 3GSG SMO FX2 3H#6 LDX 7 AWORK1 [LOAD ONLINE TYPE PERI 3HRQ ANDX 7 MASK(1) 3J?B LDX 1 A1(2) 3JR2 SMO 2 3K=L LDX 6 A1-2(1) [LOAD DOC. TYPE PERI 3KQ= SMO FX1 3L9W ANDX 6 MASK 3LPG TXU 7 6 3M96 BCS NXTR [BRANCH IF THE PERI'S UNEQUAL 3MNQ NDB SMO FX2 3N8B LDX 2 AWORK3 [ADDRESS OF REC. BLOCK 3NN2 NAME 2,ADATA,ADOC 3P7L NDA LDX 2 FX2 3PM= DELETE [DELETE REC. FD. FROM FILE 3Q6W ND CLOSE 3QLG MHUNT 3,FILE,FABSNB 3R66 FREECORE 3 3RKQ UPPLUS 1 3S5B NOREC NAME 2,ADATA,ADOC [PASS BACK ZERO RECORD 3SK2 LONGSET #60,XERR 3T4L LDX 2 FX2 3TJ= BRN ND 3W3W NXTR SMO FX2 3WHG LDX 2 AWORK3 3X36 SMO FX2 3XGQ LDX 3 AWORK2 [GET ADDRESS OF PARAM. BL. 3Y2B NXTR1 FREECORE 2 3YG2 BRN NXTRD [GET NEXT REC. 3Y^L XERR GEOERR 1,LONGDOC 3^F= SINGLE 3^YW PHOTO 5 42DG READ 42Y6 MHUNT 2,FILE,FRB 43CQ TESTMOVE 5,OK3 43XB MHUNT 3,CPB,CUNI 44C2 OK3 SMO FX2 44WL STO 3 AWORK2 [PRESERVE ADDRESS OF PARAM. BL. 45B= LDX 4 A1(2) 45TW BZE 4 NOREC [J IF ZERO RECORD: END OF FILE 46*G SMO FX2 46T6 STO 2 AWORK3 47#Q LDCH 4 A1+3(2) 47SB SBN 4 #12 48#2 BNZ 4 S1 [J IF RECORD SINGLE 48RL LDN 5 12 49?= NCH1 BCHX 2 £ 49QW LDCH 0 A1+3(2) 4==G SBN 0 #36 [SCAN FOR STOP CH. 4=Q6 BZE 0 XFD 4?9Q BCT 5 NCH1 4?PB GEOERR 1,DNERROR [ERROR IN NAME IF NOT FOUND 4#92 XFD LDX 4 ANUM(3) 4#NL ANDN 4 #7777 4*8= NCHA BCHX 2 £ 4*MW LDCH 5 A1+3(2) 4B7G LDCH 0 APARA(3) 4BM6 TXU 0 5 4C6Q BCS NXTS [J IF NAMES NOT EQUAL 4CLB BCHX 3 £ 4D62 BCT 4 NCHA [J TO COMPARE NEXT CH. 4DKL BCHX 2 £ 4F5= SMO FX2 4FJW LDX 3 AWORK3 [S.A. OF REC. BLOCK. 4G4G SBX 2 3 [X2 CONTAINS NO. OF WDS. TO POSN.IN B 4GJ6 SLC 2 2 [CONVERT TO CHS. 4H3Q TXU 2 A1+2(3) 4HHB BCS NXTS [J IF NOT EQUAL TO TOTAL NO. OF CHS. 4J32 NCHB SMO FX2 4JGL LDX 7 AWORK1 [LOAD ONLINE TYPE PERI 4K2= ANDX 7 MASK(1) 4KFW LDX 1 A1(3) 4K^G SMO 3 4LF6 LDX 6 A1-2(1) [LOAD DOC. TYPE PERI 4LYQ SMO FX1 4MDB ANDX 6 MASK 4MY2 TXU 7 6 4NCL BCS NXTS [BRANCH IF THE INCORRECT TYPE 4NX= NAME 3,ADATA,ADOC 4PBW BRN NDA 4PWG NXTS SMO FX2 4QB6 LDX 2 AWORK3 4QTQ FREECORE 2 [FREE REC. BLOCK 4R*B SMO FX2 4RT2 LDX 3 AWORK2 [GET ADD. OF PARAM. BL. 4S#L BRN SINGLE [GET NEXT RECORD 4SS= S1 LDX 4 ANUM(3) 4T?W ANDN 4 #7777 4TRG TXU 4 A1+2(2) 4W?6 BCS NXTS [J IF NOT THE SAME NO. OF CHS. 4WQQ CALL 7 TEQUAL [COMPARE NAMES 4X=B BRN NXTS [J IF UNEQUAL: GET NEXT REC. 4XQ2 SMO FX2 [OTHERWISE RECORD FOUND 4Y9L LDX 3 AWORK3 4YP= BRN NCHB [GO BACK AND CHECK PERI'S CORRECT 4^8W MENDAREA 20,K99FINDOC 4^NG #END ^^^^ ...35404557000100000000 </code> Last modified: 17/01/2024 11:55by 127.0.0.1 Log In