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: GETFREE867)}} ====== GETFREE867 ====== (George Source) **Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:ALTLENG|ALTLENG]], [[george:macro:AND|AND]], [[george:macro:BXE|BXE]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:DOWN|DOWN]], [[george:macro:ELSE|ELSE]], [[george:macro:FI|FI]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FSHENTRY|FSHENTRY]], [[george:macro:FSHTEST|FSHTEST]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GSCAN|GSCAN]], [[george:macro:HUNT|HUNT]], [[george:macro:HUNTC|HUNTC]], [[george:macro:HUNTW|HUNTW]], [[george:macro:IDFPER|IDFPER]], [[george:macro:IF|IF]], [[george:macro:JFREE|JFREE]], [[george:macro:JNANON|JNANON]], [[george:macro:JRIGHT|JRIGHT]], [[george:macro:LADDP|LADDP]], [[george:macro:LGEOG|LGEOG]], [[george:macro:LTYPE|LTYPE]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:OPEN|OPEN]], [[george:macro:OPENSYS|OPENSYS]], [[george:macro:PROPERTY|PROPERTY]], [[george:macro:REWIND|REWIND]], [[george:macro:RIGHT|RIGHT]], [[george:macro:SAWCEN|SAWCEN]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETALLOC|SETALLOC]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETREP|SETREP]], [[george:macro:SETREP2|SETREP2]], [[george:macro:STEP|STEP]], [[george:macro:TESTNAMX|TESTNAMX]], [[george:macro:THEN|THEN]], [[george:macro:TRACE|TRACE]], [[george:macro:TRACEVER|TRACEVER]], [[george:macro:UP|UP]], [[george:macro:UPPLUS|UPPLUS]], [[george:macro:VFREEW|VFREEW]] <code - GETFREE867.txt>2278 ... SEG GETFREE,,,,G167 22#B ...[ 22FJ ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 22LQ ...[ THIS EXCLUDES CODE UNDER #SKI G167 22RY ...[ 22^= #OPT K0GETFREE=0 23DW #LIS K0GETFREE>K0PERI>K0ALLGEO 23JR ...#OPT G167 = 0 23NN ...#SKI G167&1 23SK ...# WITH UGUG EDIT M167 (ALLOW LF WITH NON-ATTRIBUTED PERMANENT PROPERTY) 23YG # 24XQ # 25CB # THIS SEGMENT IS PART OF THE PERIPHERAL CONTROLLER. IT SERVICES 25X2 # THE MACROS ISPER7, GETPER7, SETPROP. THE ENTRY POINTS USED ARE:- 26BL # 26W= # K1GETFREE - ISPER7 27*W # K2GETFREE - GETPER7 27TG # K3GETFREE - SETPROP 28*6 # K4GETFREE - ISPERG 28SQ # K5GETFREE - CHECKATT 294J # K11GETFREE - ISPER7 - EXCEPT APERI/APROPNOS ALREAD 29#B # 29S2 # FURTHER DETAILS OF THE PURPOSE OF EACH MACRO MAY BE FOUND ABOVE 2=?L # THE RELEVANT ENTRY POINT, AND ALSO IN PRM.6 2=R= # 2?=W # 2?QG # ENTRY POINTS 2#=6 # 2#PQ SEGENTRY K1GETFREE,X1GETFREE 2*9B SEGENTRY K2GETFREE,X2GETFREE 2*P2 SEGENTRY K3GETFREE,X3GETFREE 2B8L SEGENTRY K4GETFREE,X4GETFREE 2BN= SEGENTRY K5GETFREE,X5GETFREE 2C7W SEGENTRY K11GETFREE,X11GETFREE 2C*4 FSHENTRY K21GETFREE,,X21GETFREE,X21GETFREE 2CG= FSHENTRY K22GETFREE,X22GETFREE,,X22GETFREE 2CJW FSHENTRY K23GETFREE,X23GETFREE,,X23GETFREE 2CMG # 2D76 MAXATT +ATTMAX+1 2D9P #UNS FLLP4B 2D## ( 2DBX XACTLFC 2DFG #HAL ACTLF+CENTRAL,0 2DJ5 ) 2DLQ QBITS [DEVICE IDENTIFICATION TABLE 2F6B #4000 [TR 2FL2 #2000 [TP 2G5L #1000 [LP 2GK= #0400 [CR 2H4W #0200 [CP 3?^Q OPEN 3#FB # SUBROUTINE OPENS :SYSTEM.PROPERTY 3#^2 # LINK INX5 3*DL SBX 5 FX1 3*Y= OPENSYS XBRKIN,PROPERTY,READ 3J?B ADX 5 FX1 3JR2 BRN (5) 3K=L # 3KQ= # 3L9W PROPERTY 3LPG # IF THE PROPERTY IS 'CENTRAL' OR A CONSOLE PROPERTY, 3M96 # DETAILS ARE STORED IN THE APROPNOS BLOCK, UNLESS THERE IS ALREADY 3MNQ # ONE THERE, IN WHICH CASE EXIT 0. EXIT 1 IF COMMAND NOT ALLOWED 3N8B # TO SPECIFY A CONSOLE PROPERTY. 3NN2 # LINK IN X7 3P7L MHUNTW 3,APERI,APROPNOS [LOCATE APROPNOS BLOCK 3PM= LDX 4 ACOMMUNE5(2) [LOAD PROPERTY NO 3Q6W LDX 0 BPROPCNT(3) 3QLG BZE 0 N2 [BR IF NO PROPS STORED 3R66 N1 3RKQ SMO 0 3S5B TXU 4 BPROPS-1(3) 3SK2 BCC N6 [BR IF PROPERTY ALREADY STORED 3T4L BCT 0 N1 3TJ= N2 3W3W LDXC 0 ACOMMUNE6(2) 3WHG BCC NOTCONS [BR IF NOT CONSOLE PROPERTY 3X36 LDCT 0 #200 3XGQ ANDX 0 AWORK4(2) [MASK ONLINE BIT 3Y2B BNZ 0 XFORBIDDEN [BR IF ONLINE (- NO CONSOLE PROPERTY) 3YG2 PCENTRAL 3Y^L LDX 0 CPROPNO(3) 3^F= BNZ 0 (7) [BR IF CONSOLE PROP ALREADY STORED 3^YW STO 4 CPROPNO(3) [ELSE STORE IT 42DG LDX 0 4 42Y6 ANDX 0 BITS22LS 43CQ SBN 0 1 [DONT PUT ANY MORE DETAILS IN BLOCK 43XB BZE 0 N6 [FOR CENTRAL 44C2 BRN N7 44WL NOTCONS 45B= LDX 0 4 45TW ANDX 0 BITS22LS [REMOVE BIT 1 OF PR NO 46*G SBN 0 1 46T6 BZE 0 PCENTRAL [BR IF THIS PROPERTY IS CENTRAL 47#Q N7 SMO BPROPCNT(3) 47SB STO 4 BPROPS(3) [STORE PROPERTY NO IN LIST 48#2 LDN 0 1 48RL ADS 0 BPROPCNT(3) [UPDATE COUNT OF PROPERTIES 49?= ADXC 4 4 49QW BCC TEMPORARY [BR IF PROPERTY TEMPORARY 4==G HUNTW 3,APERI,APERM [SEE IF APERM IAS BEEN SET UP 4=Q6 BPZ 3 PERM [ & BR IF SO 4?9Q SBX 7 FX1 [RELATIVISE LINK 4?PB SETNCORE ATTMAX+1*13+2/4+1,3,APERI,APERM 4#92 BRN N3 4#NL TEMPORARY 4*8= HUNTW 3,APERI,BTEMP [SEE IF BTEMP HAS BEEN SET UP 4*MW BPZ 3 PERM [ & BR IF SO 4B7G SBX 7 FX1 4BM6 SETNCORE ATTMAX+1*13+2/4+1,3,APERI,BTEMP 4C6Q N3 4CLB ADX 7 FX1 4D62 STOZ A1(3) 4DKL PERM [MOVE PROPERTY NAME INTO APERM/BTEMP 4F5= LDX 1 A1(3) [CURRENT CHAR COUNT 4FJW SRC 1 2 4G4G BZE 1 N4 [BR IF BLOCK CURRENTLY EMPTY 4G75 #UNS G3SIGNET 4G9N ( 4G#? SLC 4 8 [TEST IF BIT9 SET IN PR NO 4GBW BNG 4 PROPMEEP [THIS IS A MEEP PROPERTY 4GFF ) 4GJ6 LDN 0 #26 [ "&" 4H3Q SMO 3 4HHB DCH 0 A1+1(1) [APPEND "&" TO LAST PROP NAME 4J32 BCHX 1 N4 4JGL N4 4K2= ADN 1 A1+1(3) [START ADDRESS - DESTINATION 4KFW LDN 0 ACOMMUNE2(2) [START ADDRESS OF PROPERTY NAME 4K^G SMO ACOMMUNE1(2) [NO OF SIGNIFICANT CHARACTERS 4LF6 MVCH 0 0 [MOVE IN CHARACTER STRING 4LYQ SBN 1 A1+1(3) 4MDB SLC 1 2 4MY2 STO 1 A1(3) [RESET BLOCK CHAR COUNT 4NCL LDX 1 FX1 4NX= N6 4PBW EXIT 7 2 [AND EXIT 4PWG N5 4QB6 XFORBIDDEN 4QTQ EXIT 7 1 4QW# #UNS G3SIGNET 4QWW ( 4QXD PROPMEEP [PLACE MEEP PROPERTY NAME AT HEAD OF THE (TEMPORARY) 4QY2 [PROPERTY NAMES STRING (FOR CENTRAL LISTFILE) 4QYJ LDX 4 A1(3) [MOVE CURRENT STRING OF (TEMPORARY) 4Q^6 ADN 1 A1+1(3) [PROPERTY NAMES FORWARD BY 5 CHARS 4Q^N LDX 2 1 [STARTING WITH LAST STRING CHAR 4R2= STRMV SLC 1 2 4R2S SBN 1 1 4R3B SRC 1 2 4R3Y LDCH 0 0(1) [INITIALLY MOVE LAST STRING CHAR 4R4G DCH 0 1(2) [TO LAST STRING CHAR +5 POSITION 4R54 SLC 2 2 4R5L SBN 2 1 4R68 SRC 2 2 4R6Q BCT 4 STRMV [MOVE NEXT STRING CHAR 4R7# LDX 2 FX2 4R7W LDX 0 ACOMMUNE2(2) [INSERT MEEP PROPERTY NAME (LPNN) + 4R8D STO 0 A1+1(3) ["&" AT THE HEAD OF STRING 4R92 LDN 0 #26 4R9J DCH 0 A1+2(3) 4R=6 LDN 0 5 [UPDATE CHAR STRING COUNT 4R=N ADS 0 A1(3) 4R?= LDX 1 FX1 4R?S BRN N6 4R#B ) 4R*B # 4RT2 SMHUNTW 4S#L # THIS SUBROUTINE HUNTS FOR AN APERI/APROPNOS BLOCK ON X2. IT IS 4SS= # REQUIRED BY THE ALTLENG MACRO. 4T?W # LINK IN X1 4TRG MHUNTW 2,APERI,APROPNOS 4W?6 BRN (1) 4WQQ # 4X=B SCLOSETOP 4XQ2 # THIS SUBROUTINE CLOSES :SYSTEM.PROPERTY 4Y9L # LINK IN X7 4YP= SBX 7 FX1 4^8W CLOSETOP [CLOSE :S0STEM.PROPERTY 4^NG ADX 7 FX1 5286 BRN (7) 52MQ # 537B SVFREEW 53M2 # THIS SUBROUTINE OPTIONALLY FREES THE APROPNOS, APROPS, APERM AND 546L # BTEMP BLOCKS 54L= # LINK IN X7 555W SVFREEW1 55KG VFREEW APERI,APERM 5656 VFREEW APERI,BTEMP 56JQ VFREEW APERI,APROPNOS 574B BRN (7) 57J2 # 583L SCHECKATT 58H= # THIS SUBROUTINE BUZZES AROUND THE APIA POINTED AT BY X1, AND 592W # CHECKS THE PROPERTIES ATTRIBUTED AND REQUESTED IN THE APROPNOS 59GG # BLOCK. THE MASTER MARKER IS UPDATED TO REFLECT THE SUITABILITY 5=26 # OF THE DEVICE UNDER INVESTIGATION. 5=FQ # LINK IN X7 5=^B LDN 5 0 [INITIALIASE MARKER FOR THIS DEVICE 5?F2 LDN 4 0 [RELATIVE POINTER DOWN APIA 5?YL XLOOP 5#D= SMO 4 5#XW LDXC 0 APERPROP(1) [LOAD 1ST/NEXT PROPERTY (LOSE B0) 5*CG BZE 0 PROPEND [BR IF NONE/NO MORE 5*X6 BNG 3 NONWANTED [BR IF NO PROPERTIES REQUIRED 5BBQ LDX 6 BPROPCNT(3) [ELSE GET COUNT OF THEM 5BWB R1 5CB2 SMO 6 5CTL TXU 0 BPROPS-1(3) [COMPARE REQUESTS AND ATTRIBUTIONS 5D*= BCC WANTED [BR IF THIS ONE WANTED 5DSW BCT 6 R1 [COUNT DOWN 5F#G NONWANTED 5FS6 # THIS PROPERTY IS NOT WANTED 5G?Q SMO 4 5GRB LDXC 0 APERPROP(1) 5H?2 BCC WILLDO [BR IF PROPERTY INCLUSIVE 5HQL SLL 0 1 5J== BPZ 0 TEMP [BR IF TEMPORARY/EXCLUSIVE 5JPW ORN 5 4 [ELSE SET P/E NOT REQUIRED MARKER 5K9G BRN WILLDO [AND BR TO DO NEXT PROPERTY 5KP6 TEMP 5L8Q ORN 5 32 [SET T/E NOT REQUIRED MARKER 5LNB BRN WILLDO [AND CARRY ON 5M82 WANTED 5MML LDCT 0 256 5N7= SMO 6 [MARK PROPERTY AS BEING ATTRIBUTED 5NLW ORS 0 BPROPS-1(3) [TO THIS DEVICE 5P6G WILLDO 5PL6 ADN 4 1 [STEP POINTER DOWN PROPERTY LIST 5Q5Q LDN 0 ATTMAX+1 [TEST IF REACHED MAXIMUM NUMBER OF 5QKB TXL 4 0 [DEVICE ATTRIBUTIONS PERMITTED 5R52 BCS XLOOP [BR IF NOT 5RJL PROPEND 5S4= BNG 3 NONREQ [BR IF NO PROPERTIES REQUIRED 5SHW LDX 4 BPROPCNT(3) [ELSE GET COUNT OF THEM 5T3G RLOOP 5TH6 SMO 4 5W2Q LDXC 0 BPROPS-1(3) [TEST IF PROPERTY ATTRIBUTED TO 5WGB BCS XATT [DEVICE - BR IF YES 5X22 SLL 0 1 5XFL BPZ 0 XTEMP [BR IF TEMPORARY 5X^= ORN 5 2 [ELSE SET PERM NOT GOT MARKER 5YDW SRL 0 1 5YYG ANDX 0 BITS22LS [STORE MISSING PERMANENT PROPERTY 5^D6 SMO FX2 [IN ACOMMUNE8 5^XQ STO 0 ACOMMUNE8 62CB BRN R2 62X2 XTEMP 63BL ORN 5 32 [SET TEMP NOT GOT MARKER 63W= BRN R2 64*W XATT 64TG SMO 4 [CLEAR B0 OF THIS ENTRY IN 65*6 STO 0 BPROPS-1(3) [APROPNOS BLOCK 65SQ R2 66#B BCT 4 RLOOP [COUNT DOWN AND PROCEED 66S2 NONREQ 67?L BRN (7) [EXIT 67R= # 67W? #UNS G3SIGNET 67^# ( 684* SCHECKMEEP 687B # THIS SUBROUTINE TESTS IF THE MEEP LP IS REQUIRED AND EXISTS 68=C # ON ENTRY : X3 -> APERI/APROPNOS BLOCK ; EXITS +0 WITH X1 -> MEEP 68*D # LP DEVICE LIST AND B0 SET IN AWORK4 IF TRUE ; EXITS +1 IF FALSE 68DF # REPLIES NOTAV IF MEEP LP IS REQUIRED BUT DOESN'T EXIST 68HG # LINK IN X7 68LH LDX 0 AWORK4(2) [TEST IF LP REQUIRED 68PJ ANDN 0 #77 68SK SBN 0 2 68XL BNZ 0 SMEEPEX [LP NOT REQUIRED 692M LDCT 6 #400 [FOR 'TWOMEEPS' CHECK 695N LDX 4 BPROPCNT(3) [TEST IF A MEEP PROPERTY IS REQUIRED 698P SMEEP1 69?Q SMO 4 69BR LDX 0 BPROPS-1(3) 69FS SLL 0 9 69JT BPZ 0 SMEEP2 [NOT A MEEP PROPERTY NO.(B9 UNSET) 69MW LDX 0 CPROPNO(3) [TEST IF A CONSOLE PROP ALSO REQUIRED 69QX BNZ 0 XMEEP [NOT PERMITTED WITH MEEP PROPERTY 69TY BPZ 6 TWOMEEPS [MORE THAN ONE MEEP PROPERTY REQUIRED 69Y^ LDX 6 ASIGNETPTR 6=42 BZE 6 SMEEP2 [MEEP LP DOESN'T EXIST BUT CHECK FOR 6=73 ['TWOMEEPS' 6==4 STO 6 1 [SET X1 -> MEEP LP DEVICE LIST 6=*5 LDCT 0 #400 [SET B0 OF AWORK4 TO INDICATE THAT 6=D6 ORS 0 AWORK4(2) [THE MEEP LP IS REQUIRED AND EXISTS 6=H7 SMEEP2 6=L8 BCT 4 SMEEP1 [TEST NEXT PROPERTY NO. 6=P9 BZE 6 NOTAV [MEEP LP REQUIRED BUT DOESN'T EXIST 6=S= BPZ 6 (7) [MEEP LP IS REQUIRED&EXISTS: EXIT +0 6=X? SMEEPEX 6?2# EXIT 7 1 [MEEP LP IS NOT REQUIRED: EXIT+1 6?5* # 6?8B TESTIFMEEP 6??C # THIS SUBROUTINE TESTS IF THE DEVICE OWNED BY THE CURRENT ACTIVITY 6?BD # IS THE MEEP(SIGNET) LINE PRINTER : EXITS +0 IF TRUE; EXITS +1 IF 6?FF # FALSE 6?JG # LINK IN X7 6?MH SMO FX2 6?QJ LDX 0 CPPTR 6?TK BZE 0 TMEEPEX [REMOTE DEVICE OWNED 6?YL BXE 0 ASIGNETPTR,(7) [MEEP LP OWNED : EXIT +0 6#3M TMEEPEX 6#6N EXIT 7 1 6#9P # 6##Q SCHECKMDEV1 6#CR HUNTW 3,APERI,APROPNOS [SETS X3 FOR SCHECKMDEV 6#GS BNG 3 (5) [MUST BE REMOTE 6#KT SCHECKMDEV 6#NW # THIS SUBROUTINE CHECKS THAT IF THE MEEP LP IS OWNED,THE REQUEST 6#RX # NEEDS IT AND THAT IF THE MEEP LP IS NOT OWNED,THE REQUEST DOESN'T 6#WY # NEED IT 6#^^ # ON ENTRY : X3 -> APERI/APROPNOS BLOCK ; IF CHECKS OK THE S/R EXITS 6*52 # ELSE THE REPLY PERMEXCL IS GIVEN 6*83 # LINK IN X5 6*?4 LTYPE ,0 [SET DEV TYPE IN AWK4 FOR SCHECKMEEP 6*B5 STO 0 AWORK4(2) 6*F6 LDN 1 0 [NOTE X1 WILL ONLY BE CHANGED IF MEEP 6*J7 [LP IS REQUIRED AND EXISTS 6*M8 CALL 7 SCHECKMEEP 6*Q9 BRN SCMO [MEEP LP IS REQUIRED AND EXISTS 6*T= CALL 7 TESTIFMEEP [MEEP LP NOT REQUIRED : TEST IF OWNED 6*Y? BRN PERMEXCL [NOT REQUIRED BUT OWNED:NO ACCORDANCE 6B3# EXIT 5 0 6B6* SCMO SBX 1 CPPTR(2) [CHECK IF MEEP LP OWNED 6B9B BNZ 1 PERMEXCL [REQUIRED BUT NOT OWNED:NO ACCORDANCE 6B#C EXIT 5 0 6BCD # 6BGF ) 6BL2 # 6C5L # * * * 6CK= # * * ** 6D4W # ** * 6DJG # * * * 6F46 # * * *** 6FHQ # 6G3B X1GETFREE 6GH2 # 6H2L # THIS ENTRY POINT IMPLEMENTS THE ISPER7 MACRO. IT CHECKS WHETHER 6HG= # A DEVICE OF TYPE SPECIFIED IN B18-24 OF ACOMMUNE7 EXISTS WITH 6H^W # ANY CONSOLE AND/OR PERMANENT PROPERTIES WHICH MAY BE REQUESTED 6JFG # PROPERTIES REQUIRED ARE IN AN APERI/APROPS BLOCK AND/OR APERI 6J^6 # ASSOCS BLOCK. 6KDQ # THE COMMAND TYPE IS IN B0-17 OF ACOMMUNE7 6KYB # VIZ B0=1 LISTFILE 6LD2 # B1=1 ONLINE 6LXL # 6MC= NGS 2 AWORK3(2) [SET ISPER MARKER 6MWW XISPERG 6NBG LDX 6 ACOMMUNE7(2) 6NW6 STO 6 AWORK4(2) [TYPE/COMMAND INDICATOR 6P*Q #SKI K6PERI 6PTB GSCAN 6,ISPER 6Q*2 ANDN 6 63 [MASK OUT PERIPHERAL TYPE 6QSL BZE 6 NOPROPS [NO PROPERTIES FOR TAPE OR 6R#= SBN 6 3 6RRW BZE 6 NOPROPS [CARD-READER 6S?G HUNT 3,APERI [NO PROPERTIES ARE REQUIRED UNLESS 6SR6 # A BLOCK OF TYPE APERI EXISTS 6T=Q BNG 3 NOPROPS [BR IF NO PROPERTIES REQUIRED 6TQB SETNCORE ATTMAX*17+4/4+7,3,APERI,APROPNOS 6W=2 STOZ A1(3) 6WPL LDN 7 A1(3) 6X9= LDN 0 A1+1(3) 6XNW MOVE 7 6 [ZEROISE FIXED PART OF APROPNOS 6Y8G ... HUNTC 3,APERI,APROPS,NOAPROPS [LOCATE APROPS BLOCK 6^7Q LDX 6 A1+1(3) [NO OF PROPERTIES IN BLOCK 6^MB TXL 6 MAXATT(1) 7272 BCC TOOMANY [BR IF TOO MANY PROPERTIES SPECIFIED 72LL CALL 5 OPEN [OPEN :SYSTEM.PROPERTY 736= LDN 5 A1+2 73KW PROPLOOP 745G MHUNTW 3,APERI,APROPS [LOCATE APROPS BLOCK 74K6 ADX 3 5 [POINTER TO FIRST/NEXT ENTRY 754Q LDN 4 ACOMMUNE1(2) 75JB MOVE 3 4 [MOVE PROPERTY RECORD INTO WORKSPACE 7642 STEP 76HL STEP [STEP TO NEXT RECORD 773= BZE 3 PROPMISS [BR IF PROPERTY NAME NOT FOUND 77GW TESTREPN COORED,NOMOVE [BR IF STEP NOT COORIDINATED 782G MHUNTW 1,APERI,APROPS 78G6 ADX 1 5 [ELSE RESET ACOMMUNE WORDS AS 78^Q ADN 2 ACOMMUNE1 [THEY MAY HAVE BEEN OVERWRITTEN 79FB MOVE 1 4 79^2 LDX 1 FX1 7=DL LDX 2 FX2 7=Y= NOMOVE 7?CW TESTNAMX 3,ACOMMUNE2(2),APROPNAME(3),STEP,4 7?XG LDX 0 APROPGROUP(3) 7#C6 STO 0 ACOMMUNE6(2) [STORE CONSOLE PROPERTY INDICATOR 7#WQ LDX 0 APROPNO(3) [PROPERTY NO 7*BB STOC 0 ACOMMUNE5(2) [STORE PROPERTY NO (LESS B0) 7*W2 CALL 7 PROPERTY [PROCESS THIS PROPERTY NAME 7B*L BRN TWOCONS [MORE THAN ONE CONS PROP SPECIFIED 7BT= BRN NONOCONS [COMMAND NOT ALLOWED CONSOLE PROPERTY 7C#W BCT 6 REWIND [BR IF MORE PROPERTY NAMES 7CSG BRN NOMOREPROPS 7D#6 REWIND 7DRQ REWIND [REWIND :SYSTEM.PROPERTY 7F?B ADN 5 4 7FR2 BRN PROPLOOP [BR TO PROCESS NEXT PROPERTY 7G=L NOMOREPROPS 7GQ= MFREEW APERI,APROPS [FREE THE APROPS BLOCK 7H9W CALL 7 SCLOSETOP [CLOSE :SYSTEM.PROPERTY 7HPG NOAPROPS 7J96 # THE CONTENTS OF ANY APERI/APROPS BLOCK HAVE NOW BEEN ANALYSED AND 7JNQ # BUNGED IN THE APROPNOS, APERM, AND/OR BTEMP BLOCK. 7K8B HUNTW 3,APERI,ASSOCS 7KN2 BNG 3 NOASSOCS [BR IF NO ASSOCIATIONS TO DO 7L7L LDX 4 AWORK4(2) [COMMAND/TYPE WORD 7LM= LDCH 0 4 [DEVICE TYPE 7M6W SMO 0 7MLG LDX 0 QBITS(1) [ASSOC KEY FOR DEVICE TYPE 7N66 DSA 0 4 7NKQ LDX 6 A1(3) [COUNT OF ASSOCIATIONS 7P5B PALOOP 7PK2 LDX 0 4 [TEST IF KEY IN X4 IS CONTAINED 7Q4L ANDX 0 A1+1(3) [IN THE CIT PATTERN IN A1+1 OF 7QJ= ERX 0 4 [THE ASSOCS BLOCK.... 7R3W BZE 0 SMATCH [BR IF SO 7RHG ADN 3 ASSOCSLEN [STEP TO NEXT RECORD 7S36 BCT 6 PALOOP 7SGQ BRN NOASSOCS [BR IF NO RELEVANT ASSOCIATIONS 7T2B SMATCH 7TG2 LDN 0 12 7T^L STO 0 ACOMMUNE1(2) [STORE CHARACTER COUNT OF 12 7WF= LDN 7 A1+3(3) [START OF PROPERTY NAME 7WYW LDN 0 ACOMMUNE2(2) 7XDG MOVE 7 3 [MOVE PROPERTY NAME INTO WORKSPACE 7XGP LDCT 1 #600 [ROUTINE TO EDIT.. 7XJY ORN 1 ACOMMUNE4(2) [..OUT TRAING SPACES.. 7XM7 NEXT LDCH 0 0(1) [..AND ALTER CHARACTER.. 7XPB SBN 0 #20 [..COUNT ACCORDINGLY 7XRK BNZ 0 ZEDED 7XTS LDN 0 1 7XY3 SBS 0 ACOMMUNE1(2) 7Y2= SLC 1 2 7Y4F SBN 1 1 7Y6N SRC 1 2 7Y8X LDX 0 ACOMMUNE1(2) 7Y?6 BNZ 0 NEXT 7Y** ZEDED LDX 0 A1+2(3) [PROPERTY NUMBER 7YCQ STO 0 ACOMMUNE6(2) [STORE CONSOLE PROP INDICATOR (B0) 7YXB STOC 0 ACOMMUNE5(2) [STORE PROP NO (LESS B0) 7^78 LDX 1 FX1 7^C2 CALL 7 PROPERTY [PROCESS THE ASSOCIATION 7^WL BRN NOASSOCS [2ND CONS PROP - IGNORE IT 82B= ... BRN XFBD 82TW NOASSOCS 83*G # ANALYSIS OF ASSOCIATIONS COMPLETED. NOW WE MUST COMPLETE THE APROPNOS 83T6 MHUNTW 3,APERI,APROPNOS [LOCATE APROPNOS BLOCK 84#Q LDX 5 BPROPCNT(3) 84SB BNZ 5 P1 [BR IF SOME PROPERTIES WERE STORED 85#2 FREECORE 3 [ELSE FREE THE APROPNOS BLOCK 85RL BRN SPORPON 86?= P1 86QW TXL 5 MAXATT(1) 87=G BCC TOOMANY [BR IF TOO MANY PROPERTIES REQUESTED 87Q6 LDX 0 CPROPNO(3) [LOAD CONSOLE PROPERTY NO 889Q ANDX 0 BITS22LS 88PB BCT 0 P2 [BR IF NOT CENTRAL 8992 STOZ CPROPNO(3) [ELSE CLEAR CPROPNO 89NL P2 8=8= ADN 5 BPROPS [DESTINATION ADDRESS POINTER 8=MW HUNTW 1,APERI,APERM [LOCATE APERM BLOCK 8?7G BNG 1 NOAPERM [BR IF NOT THERE 8?M6 LDX 6 A1(1) 8#6Q STO 6 CHPERM(3) [STORE COUNT OF PERM PROP CHARS 8#LB STO 5 ADPERM(3) [START OF PERM PROP STRING 8*62 ADN 6 3 8*KL SRL 6 2 [NO OF WORDS IN STRING 8B5= ADX 5 3 8BJW LDN 4 A1+1(1) 8C4G SMO 6 8CJ6 MOVE 4 0 [MOVE IN PERM PROP STRING 8D3Q SBX 5 3 [RELATIVISE X5 8DHB ADX 5 6 [UPDATE POINTER 8F32 FREECORE 1 [& FREE APERM BLOCK 8FGL NOAPERM [NOW FOR THE BTEMP BLOCK 8G2= HUNTW 1,APERI,BTEMP [LOCATE BTEMP BLOCK 8GFW BNG 1 NOBTEMP [BR IF NOT THERE 8G^G LDX 6 A1(1) 8HF6 STO 6 CHTEMP(3) [NO OF CHARS IN TEMP PROP STRING 8HYQ STO 5 ADTEMP(3) [START ADDRESS OF STRING 8JDB ADN 6 3 8JY2 SRL 6 2 [WORD LENGTH OF STRING 8KCL ADX 5 3 8KX= LDN 4 A1+1(1) 8LBW SMO 6 8LWG MOVE 4 0 [MOVE STRING INTO APROPNOS 8MB6 SBX 5 3 8MTQ ADX 5 6 [TOTAL LENGTH OF APROPNOS USED 8N*B FREECORE 1 [FREE BTEMP BLOCK 8NT2 NOBTEMP 8P#L SBN 5 A1 [X5 = RECORD HEADER 8PS= STO 5 A1(3) [STORE TOTAL RECORD HEADER 8Q?W ADN 5 A1 8QRG ALTLENG 3,5,SMHUNTW [ALTER LENGTH OF BLOCK 8R?6 NOPROPS 8RQQ SPORPON 8S=B LDN 0 #77 [CLEAR COMMAND INDICATOR, BUT 8SQ2 ANDS 0 AWORK4(2) [RETAIN PERIPHERAL TYPE 8T9L BRN PERIPHERAL [BR TO LOOK FOR A SUITABLE 8TP= # PERIPHERAL 8W8W XBRKIN [BREAK IN WHILE OPENING SYS.PROP 8WNG MFREE FILE,FABSNB 8X86 MFREEW APERI,APROPS 8XMQ MFREEW APERI,APROPNOS 8Y7B UP [BREAKIN EXIT 8YM2 # 8^6L TOOMANY [TOO MANY PROPERTIES SPECIFIED 8^L= CALL 7 SVFREEW [FREE APPROPRIATE BLOCKS 925W Q1 SETREP2 MAXATT [SET REPLY 92KG UPPLUS 2 [AND RETURN 9356 # 93JQ PROPMISS [PROPERTY NOT IN :SYSTEM.PROPERTY 944B CALL 7 SCLOSETOP [CLOSE :SYSTEM.PROPERTY 94J2 CALL 7 SVFREEW1 [FREE ALL BUT APROPS BLOCK 953L STO 5 ACOMMUNE1(2) [STORE RELATIVE POINTER TO ERRONEOUS 95H= SETREP2 XPROP [PROPERTY NAME 962W UPPLUS 2 96GG # 9726 TWOCONS [2 CONSOLE PROPERTIES SPECIFIED 97FQ CALL 7 SCLOSETOP [CLOSE :SYSTEM.PROPERTY 97^B CALL 7 SVFREEW [AND FREE ALL BLOCKS 98F2 SETREP2 CPROPS 98YL UPPLUS 2 99D= # 99XW NONOCONS [COMMAND MAY NOT SPECIFY CONSOLE PROP 9=CG CALL 7 SCLOSETOP [CLOSE :SYSTEM.PROPERTY 9=X6 CALL 7 SVFREEW1 [FREE ALL BUT APROPS 9?BQ SETREP2 XCPROP 9?WB UPPLUS 2 9#B2 # 9#TL SWIPEDCONS 9**= SWITCHED 9*SW FREECORE 3 [FREE APERI,ATTRIB BLOCK 9B#G CALL 7 SCLOSETOP [CLOSE :SYSTEM.PROPERTY 9BS6 BRN T1 9BT9 #UNS G3SIGNET 9BW# ( 9BXC # 9BYG TWOMEEPS [MORE THAN 1 MEEP PROPERTY SPECIFIED 9B^K SETREP2 TWOMEEPS 9C2N UPPLUS 2 9C3R # 9C4W XMEEP [MEEP PROPERTY MAY NOT BE SPECIFIED 9C5^ [WITH A CONSOLE PROPERTY 9C74 SETREP2 XMEEP 9C87 UPPLUS 2 9C9= # 9C=* ) 9C?Q NOPER 9CRB # NO DEVICE OF REQUIRED TYPE IN RELEVANT CLUSTER 9D?2 LDXC 0 AWORK3(2) 9DQL BCC T1 [BR IF GETPER 9F== VFREEW APERI,APROPNOS 9FPW T1 9G9G SETREP2 NOPER 9GP6 UPPLUS 2 9H8Q NOPROPA 9HNB FREECORE 3 [FREE APERI,ATTRIB BLOCK 9J82 # 9JML PRNOPROP 9K7= CALL 7 SCLOSETOP [CLOSE :SYSTEM.PROPERTY 9KLW NOPROP 9L6G # NO DEVICE OF SPECIFIED TYPE HAS ALL THE PERM PROPS REQUIRED 9LL6 SETREP NOPROP 9M5Q UPPLUS 2 9MKB # 9N52 PERMYUK 9NJL FREECORE 3 [FREE APERI,ATTRIB BLOCK 9P4= PRPERMEXCL 9PHW CALL 7 SCLOSETOP [CLOSE :SYSTEM.PROPERTY 9Q3G PERMEXCL 9QH6 # DEVICES HAVE PERM EXCL PROPERTIES NOT REQUIRED 9S^= SETREP2 PERMEXCL 9TDW UPPLUS 2 9TYG # 9WD6 WRNG 9WXQ # ALL DEVICES WITH SPECIFIED PERM EXCL PROPS ARE WRONGED 9XCB SETREP2 WRNG 9XX2 UPPLUS 2 9YBL # 9YW= NOTAV 9^*W # NO DEVICES WITH SPECIFIED PERM PROPS ARE FREE 9^TG SETREP2 NOTAV =2*6 UPPLUS 2 =2SQ # =3#B PROK =3S2 CALL 7 SCLOSETOP [CLOSE :SYSTEM.PROPERTY =3TS OK =4M8 SETREP OK =4R= UPPLUS 2 =5=W # =5GN ...XFBD GEOERR 1,FRBID =5QG # * * ** =6=6 # * * * * =6PQ # ** * =79B # * * * =7P2 # * * **** =88L # =8N= X2GETFREE =97W # =9MG # THIS ENTRY POINT IS USED BY THE GETPER7 MACRO. IT SEARCHES FOR ==76 # A DEVICE OF THE REQUIRED TYPE WITH THE REQUIRED PROPERTY ==LQ # CONFIGURATION =?6B # =?L2 STO 2 AWORK3(2) [INDICATE GETPER ENTRY =#5L LDCH 7 ACOMMUNE7(2) =#K= #SKI K6PERI =*4W GSCAN 7,GETPER =*JG STO 7 AWORK4(2) [PRESERVE DEVICE TYPE REQUIRED =B46 PERIPHERAL =BHQ # NOW TO LOOK FOR A SUITABLE DEVICE =C3B LDXC 5 GSIGN [SET MASTER MARRKER (- X5 =0) =CH2 STO 5 AWORK2(2) [ = 'NOPER' =D2L HUNTW 3,APERI,APROPNOS =DG= BNG 3 PLOCAL [NO PROPERTIES - MUST BE LOCAL =DJF #UNS G3SIGNET =DLN ( =DNX CALL 7 SCHECKMEEP [CHECK IF MEEP LP REQUIRED =DR6 BRN SCHECKDEV [MEEP LP EXISTS AND IS REQUIRED =DT* [EXAMINE IT =DXJ ) =D^W LDX 4 CPROPNO(3) =FFG BZE 4 PLOCAL [BR IF NO CONS PROP REQ'D =F^6 IDFPER XIDFBRK,OK [LOOK FOR IDF DEVICE =GDQ LDX 0 ACOMMUNE9(2) [NOT FOUND - BR TO ANALYSE =GNJ ...#SKI G167&1$1 =GYB BRN XAMINE [RESULT =H2# ...#SKI G167&1 =H4= ...( =H68 ...# ALLOWS LISTFILES TO NON-ATTRIBUTED PROPERTIES =H86 ... SRL 0 1 =H=4 ... BZE 0 WRNG =H#2 ... BRN XXAMINE =H*Y ...) =HD2 PLOCAL =H^K LDXC 0 AWORK3(2) =J4# ... BCC XGFND [SEPAREATE FINDPEREC FOR ISPER =J73 FINDPERE 1,APFOTY,AWORK4(2),QNEXTDVI,,NLINE,NLINE =J9Q BRN NLINE =J#G ...XGFND FINDPERE 1,APFOTY,AWORK4(2),QNEXTDEV =JC= # FIND DEVICE LIST OF NEXT DEVICE OF THIS TYPE =JN3 NLINE BNG 1 NODEV [BR IF NO MORE =JYS #UNS G3SIGNET =K2Q ( =K4N LDXC 0 AWORK4(2) [IF MEEP LP REQUIRED,IGNORE OTHER LPS =K6L BCS NODEV [AND ANALYSE MASTER MARKER =K8J BXE 1 ASIGNETPTR,QNEXTDV [MEEP LP NOT REQUIRED : IGNORE IT =K=G SCHECKDEV =K#D ) =KBG LDN 5 0 =KW6 LTYPE 1,0 =L*Q BZE 0 SLINPUT [BR IF TR (NO ATTRIBUTIONS FOR) =LTB SBN 0 3 =M*2 BZE 0 SLINPUT [OR CR (SLOW INPUT DEVICES ) =MSL STO 1 ACOMMUNE1(2) [PRESERVE DEVICE LIST POINTER =N#= LADDP 1,1 [LOAD ADDRESS OF APIA =NRW CALL 7 SCHECKATT [CHECK PROPERTY ATTRIBUTIONS =P?G LDX 1 ACOMMUNE1(2) [RESTORE DEVICE LIST POINTER =PR6 SLINPUT =P^B ... JNANON 1,XJR =Q7L ORN 5 8 [SET WRG MARKER =Q*W BRN XFREE =QJ6 ...XJR JRIGHT 1,RIGHT [BR IF DEVICE RIGHTED =QQB ORN 5 8 [ELSE SET 'WRONGED' MARKER =R=2 RIGHT =RPL JFREE 1,XFREE [BR IF DEVICE FREE =S9= ORN 5 16 [ELSE SET ALREADY ALLOCATED MARKER =SNW XFREE =T8G #SKI K6PERI>199$199 =TN6 TRACE 5,GPMARK [TRACE CHECKATT REPLY =W7Q BZE 5 PERFECT [BR IF DEVICE IS PERFECT FIT =WMB NGN 0 1 =X72 S1 =XLL ADN 0 1 [SHIFT COUNT =Y6= SRC 5 1 [FIND L.S. BIT SET IN MARKER FOR =YKW BPZ 5 S1 [THIS DEVICE =^5G LDN 5 1 =^K6 SMO 0 ?24Q SLL 5 0 [AND SET IT IN THE MASTER MARKER ?2JB ORS 5 AWORK2(2) ?342 SBN 5 32 [TEST IF OK EXCEPT FOR TEMP PROPS ?3HL BNZ 5 QNEXTDV [AND BR FOR NEXT DEVICE IF NOT ?43= LDXC 0 AWORK3(2) ?4GW BCS QNEXTDVI [BR FOR NEXT DEVICE IF ISPER ?52G LDX 0 CPPTR(2) [BR IF DEVICE WITH WRONG TEMP ?5G6 BNZ 0 QNEXTDEV [ALREADY STORED ?5^Q STO 1 CPPTR(2) [ELSE REMEMBER THIS ONE ?6CS QNEXTDV ?6D# LDXC 0 AWORK3(2) ?6DS BCS QNEXTDVI [ISPER LABEL ?6FB BRN QNEXTDEV ?6^2 NODEV ?6^7 #UNS FSHTEST ?6^# #SKI ?6^F ( ?754 ) ?7DL # ALL LOCAL DEVICES HAVE NOW BEEN EXAMINED. NOW TO ANALYSE MASTER ?7Y= # MARKER TO DECIDE ON THE REPLY ?8CW # ?8XG LDX 0 AWORK2(2) [LOAD MASTER MARKER ?9C6 XAMINE [ENTRY FROM IDFPERIS ?9WQ #SKI K6PERI>199$199 ?=BB TRACE 0,GPMASTER [TRACE MASTER MARKER ?=W2 SRL 0 1 [ REPLY ??*L BZE 0 NOPER [ NOPER ??GS ...#SKI G167&1 ??N2 ...XXAMINE ??T= SRL 0 1 ?##W BZE 0 NOPROP [ NOPROP ?#SG SRL 0 1 ?*#6 BZE 0 PERMEXCL [ PERMEXCL ?*RQ SRL 0 1 ?B?B BZE 0 WRNG [ WRNG ?BR2 SRL 0 1 ?C=L BZE 0 NOTAV [ NOTAV ?CQ= LDXC 0 AWORK3(2) ?D9W BCS OK [IF ISPER - OK ?DPG # DEVICE OK EXCEPT FOR TEMPORARY PROPERTY CONFIGURATION ?F96 SAWCEN CENTRAL,NOTCENTRAL [BR IF REMOTE DEVICE ALLOCATED ?FNQ LDX 1 CPPTR(2) [LOCAL DEVICE - LOAD CPPTR ?G8B #SKI K6PERI>99$99 ?GN2 TRACE 1,ALLOTPET ?H7L SETALLOC 1 [MARK DEVICE ALLOCATED ?HM= LDCH 0 ATYPE(2) ?J6W SBN 0 ACTLF/64 ?JLG BNZ 0 NOTLF [BR IF NOT CO ?K66 LGEOG 1,0 ?KKQ STO 0 JSOURCE1(2) [SET UP JSOURCE1 ?L5B LTYPE 1,0 ?LK2 DCH 0 JSOURCE1(2) ?M4L NOTCENTRAL ?MJ= SETREP2 PREQ [SET 'CHANGES IN TEMPORARY PROPERTY ?N3W # ATTRIBUTIONS REQUIRED' REPLY ?NHG UPPLUS 2 [AND RETURN ?P36 # ?PGQ # * * *** ?Q2B # * * * ?QG2 # ** *** ?Q^L # * * * ?RF= # * * *** ?RYW # ?SDG X3GETFREE ?SY6 # THIS ENTRY POINT SERVICES THE SETPROP MACRO. IT REQUESTS CHANGES IN ?TCQ # THE ATTRIBUTIONS OF TEMPORARY PROPERTIES TO THE DEVICE OWNED BY THE ?TXB # CURRENT ACTIVITY. GETPER7 DROPS STRAIGHT THROUGH TO HERE WHEN NOT ?WC2 # ISSUED BY AN ACTLF ?WWL # ?XB= NOTLF ACROSS GETFREEB,1 ?XTW # ?Y*G # C??B XIDFBRK C?R2 VFREEW APERI,APROPNOS [FREE ANY APROPNOS BLOCK C#2S SETREP CANT C#=L UP C#Q= # CF6W PERFECT [PERFECT FIT FOUND CFLG LDXC 0 AWORK3(2) CG66 BCS SETOK [SET REPLY IF ISPER CGKQ SETALLOC 1 [ELSE ALLOCATE THE DEVICE CH5B LDCH 0 ATYPE(2) CHK2 SBN 0 ACTLF/64 CJ4L BNZ 0 NJS [BR IF NOT ACTLF CJJ= LGEOG 1,0 CK3W STO 0 JSOURCE1(2) [SET UP JSOURCE1 CKHG LTYPE 1,0 CL36 DCH 0 JSOURCE1(2) CLGQ NJS CM2B STO 1 CPPTR(2) [STORE CPPTR CMG2 #SKI K6PERI>99$99 CM^L TRACE 1,ALLOTPER CN3N SETOK CN3R #UNS FLLP4B CN3W ( CN3^ #UNS FLLP4BC CN44 TRACEVER 2,GF1 CN47 LDX 2 FX2 CN4= SMO FX1 CN4* LDX 1 XACTLFC CN4D IF 1,E,ATYPE(2) CN4H #UNS FLLP4BC CN4L TRACEVER 1,GF2 CN4P LDX 1 CPPTR(2) CN4S #UNS FLLP4BC CN4X TRACEVER 1,GF3DEV CN52 AND BS,1,FLP4B CN55 THEN CN58 #UNS FLLP4BC CN5? TRACEVER 0,GF4TOFL2 CN5B DOWN FORMLOOP,2 CN5F ELSE CN5J ) CN5Q HUNT 1,APERI,APROPNOS CN7S IF 1,PZ [ PROPERTIES CN9W AND +CPROPNO(1),NZ [ CONSOLE PROPERTY CNB2 HUNT 1,AMXOR,ADCB CND4 AND 1,PZ [ ON 7900 CNG6 AND BS,1,ADCB7502LP [ 7502 LP CNJ8 THEN CNJW #UNS FLLP4BC CNKJ TRACEVER 0,GF5TOFL2 CNL= DOWN FORMLOOP,2 [ SET FORMAT LOOP BLOCK CNN# ELSE CNQB SETREP OK CNSD FI CNST #UNS FLLP4BC CNT= TRACEVER EXEC3(2),GF6 CNTM #UNS FLLP4B CNW4 FI CNWG UPPLUS 2 CNYW # CPDG # * * * CPY6 # * * ** CQCQ # ** * * CQXB # * * ***** CRC2 # * * * CRWL # CSB= X4GETFREE CSTW # THIS ENTRY POINT SERVICES THE ISPERG MACRO. IT COMBINES THE CT*G # FUNCTIONS OF ISPER AND GETPER CTT6 # CW#Q STO 2 AWORK3(2) [MARK AS GETPER CWSB BRN XISPERG [AND BR TO DO GETPER CX#2 # CXRL # CY?= # * * **** CYQW # * * * C^=G # ** *** C^Q6 # * * * D29Q # * * *** D2PB # D392 X5GETFREE D3NL # THIS ENTRY POINT SERVICES THE CHECKATT MACRO. IT SETS A REPLY D48= # ACCORDING TO THE DEGREE OF ACCORDANCE BETWEEN THE PROPERTIES IN ANY D4MW # APROPNOS BLOCK AND THOSE ATTRIBUTED TO THE DEVICE OWNED BY THE D57G # CURRENT ACTIVITY (AS DEFINED BY CPPTR) D5M6 # D5S# #UNS G3SIGNET D5^G #SKI D66Q HUNTW 3,APERI,APROPNOS [X3 -> APROPNOS OR -VE D6?Y #UNS G3SIGNET D6F6 CALL 5 SCHECKMDEV1 [CHECKOUT MEEP LP OWNERSHIP/REQUEST D6LB LADDP ,1 [ADDRESS OF APIA D762 CALL 7 SCHECKATT [COMPARE PROPERTIES D7KL #SKI K6PERI>199$199 D85= TRACE 5,CHECKATT [CHECK ATT REPLY D8JW BZE 5 OK [ OK D94G LDN 0 2 D9J6 ANDX 0 5 D=3Q BNZ 0 NOPROP [ NOPROP D=HB LDN 0 4 [ D?32 ANDX 0 5 D?GL BNZ 0 PERMEXCL [ PERMEXCL D#2= BRN NOTCENTRAL [ PREQ D#35 # D#3Y # D#4R # * * * * D#5L # * * ** ** D#6F # ** * * D#7# # * * * * D#87 # * * *** *** D#92 # D#9T X11GETFREE D#=N # ENTRY USED BY CHANGELIST COMMAND TO DO ISPER D#?H # MACRO EXCEPT APERI/APROPNOS BLOCK ALREADY SET UP D##B # D#*9 NGS 2 AWORK3(2) [ ISPER MACRO D#B4 LDCH 7 ACOMMUNE7(2) D#BX STO 7 AWORK4(2) [ PERIPHERAL TYPE D#CQ BRN PERIPHERAL D#CR # D#DW # D#DX # D#FW #PAGE D#^G MENDAREA 45,K100GETFREE D*F6 #END ^^^^ ...31754577000200000000 </code> Last modified: 17/01/2024 11:55by 127.0.0.1 Log In