FINDPEREC

(GIN Macro)

Defined in: MACS SPC

Used in: CDUM866, CHARGESC867, CLOSEIPB864, DEAD867, DUMMYA867, ENGAGE867, FAILTWIN866, FINDRUM866, HLSREAD867, IDFASAT867, IDFCANC867, IDFCHK867, IDFONLIN867, INTWIN866, IPCGEO8, LIBLOAD867, LIBREQ866, LIBREQC867, LISTEXCP865, LOADERDA867, LOADERDR867, LOADERFS867, LOADERI867, LOADERII867, LOADERMT867, LOADERPM867, MODEA65, MOPPM84, NEWOWN865, NEWPW867, ONLINEA867, ONLINEB867, ONLINEC867, PARSORT867, PM, PMDUMPDA85, PMDUMPMT85, PMFS85, PMLP866, PMWHATA866, PMWINDDN84, PROPERTY867, RELIEF866, RETURNIT867, SETIDF867, SETUPB867, SWITCH867, SYSPROP867, TAPERING867, TRANSPOT65, TWINSET866, TWINSETA866, TWINSETB866, TWINSETD866

FINDPEREC.mac.txt
 7XY6    #MAC  FINDPEREC 
 7YCQ    [   
 7YXB    #STR  APINT,%B  
 7^C2    #STR
 7^WL    (   
 82B=          LDX   0  %C                  [INTERNAL NO 
 82TW          TXL   0  BDTL                [BDT LENGTH  
 83*G          BCS      MFPR1               [JIF NOT OUT OF RANGE
 83T6    MFPR3   
 84#Q          NGN   %A 4095                [SET %A NEGATIVE IF INT NO TOO BIG   
 84SB          BRN      MFPR2
 85#2    MFPR1 LDX   %A BDTP                [BASE OF BDT 
 85RL          SMO      %C   
 86?=          LDX   %A 0(%A)               [PTR TO DEVICE LIST  
 86QW          JENVNOT  MFPR2,DME
 87=G          LGEOG    %A,0 
 87Q6    #STR  %G
 889Q          BZE   0  %G                  [J IF ANONYMOUS  
 88PB    #STR  %G
 8992    #STR
 89NL          BZE   0  MFPR3
 8=8=          LDX   0  JK52B(%A)
 8=MW          ANDN  0  2
 8?7G    #STR  %F
 8?M6          BNZ   0  %F                  [J IF SWITCHED OUT   
 8#6Q    #STR  %F
 8#LB    #STR
 8*62          BNZ   0  MFPR3
 8*KL    MFPR2   
 8B5=    )   
 8BJW    [   
 8C4G    #STR  APGEOG,%B 
 8CJ6    #STR
 8D3Q    (   
 8DHB          LDX   0  %C   
 8F32          BZE   0  MFPR4               [J IF GEOG = ZERO
 8FGL          LDX   0  BDTP                [BASE OF BDT 
 8G2=          ADX   0  BDTL                [PLUS LENGTH EQUALS END ADDR 
 8GFW    MFPR3 SBN   0  1                   [STEP BACK   
 8G^G          TXL   0  BDTP 
 8HF6          BCC      MFPR1               [JIF NOT BACK TO THE BASE
 8HYQ    MFPR4   
 8JDB          NGN   %A 4095                [SET %A NEGATIVE IF NO SUCH GEOG NO  
 8JY2          BRN      MFPR2
 8KCL    MFPR1 SMO      0
 8KX=          LDX   %A 0                   [PTR TO DEVICE LIST  
 8LBW          LGEOG    %A,%A               [GEOG NO 
 8LWG          TXU   %A %C   
 8MB6          BCS      MFPR3               [JIF NOT REQUIRED GEOG NO
 8MTQ          SMO      0
 8N*B          LDX   %A 0                   [LOAD DEVICE LIST PTR
 8NT2          JENVNOT  MFPR2,DME
 8P#L          LDX   0  JK52B(%A)
 8PS=          ANDN  0  2
 8Q?W    #STR  %F
 8QRG          BNZ   0  %F                  [J IF SWITCHED OUT   
 8R?6    #STR  %F
 8RQQ    #STR
 8S=B          BNZ   0  MFPR4
 8SQ2    MFPR2   
 8T9L    )   
 8TP=    [   
 8W8W    #STR  APTSER,%B 
 8WNG    #STR
 8X86    (   
 8XMQ          LDX   0  JPTI+5              [START OF MTS
 8Y7B    MFPR3 LDX   %A JPTI+6              [END OF MTS  
 8YM2          TXU   0  %A   
 8^6L          BCS      MFPR1               [J IF NOT END OF MT.S
 8^L=          NGN   %A 4095                [END OF MTS  
 925W          BRN      MFPR2
 92KG    MFPR1 SMO      0
 9356          LDX   %A 0                   [PTR TO DEVICE LIST  
 93JQ          DFLOAD   %A,TSN,%A           [TSN IN %A   
 944B          ADN   0  1                   [STEP ON 
 94J2          TXU   %A %C   
 953L          BCS      MFPR3               [NOT  THIS ONE   
 95H=          SBN   0  1
 962W          SMO      0
 96GG          LDX   %A 0                   [TSN FOUND-LOAD D L PTR  
 9726    MFPR2   
 97FQ    )   
 97^B    [   
 98F2    #STR  APJOB,%B  
 98YL    #STR
 99D=    (   
 99XW          LDX   0  BDTP                [BASE OF BDT 
 9=CG          BRN      MFPR1
 9=X6    %D  
 9?BQ    MFPR5 LINT     %A,%A               [REENTRY AND TURN DL PTRBACKTOINT NO 
 9?WB          SMO      BDTP 
 9#B2          LDN   0  0(%A)               [PTR TO BDT  
 9#TL          ADN   0  1                   [STEP ON 
 9**=    MFPR1 LDX   %A BDTP                [BASE OF BDT 
 9*SW          ADX   %A BDTL                [PLUS LENGTH EQUALS END ADDR OF BDT  
 9B#G          TXL   0  %A   
 9BS6          BCS      MFPR2               [JIF NOT AT END  
 9C?Q          NGN   %A 4095                [SET %A NEGATIVE IF NO MORE OF JOBNO 
 9CRB          BRN      MFPR3
 9D?2    MFPR2 SMO      0
 9DQL          LDX   %A 0                   [PTR TO DEVICE LIST  
 9F==          JONL     %A,MFPR4            [JIF DEVICE ONLINE   
 9FPW          BRN      MFPR5               [IF NOT CONTINUE 
 9G9G    MFPR4 LJOBNO   %A,0                [JOBNO TO X0 
 9GP6          TXU   0  %C   
 9H8Q          BCS      MFPR5               [J. IF NOT REQUIRED JOBNO
 9HNB    MFPR3   
 9J82    )   
 9JML    [   
 9K7=    #STR  APFOTY,%B 
 9KLW    #STR
 9L6G    (   
 9LL6          SMO      %C   
 9M5Q          LDX   0  JPTI                [PTR TO BDT FOR FIRST OF TYPE
 9MKB          BRN      MFPR1
 9N52    #STR  %D
 9NJL    %D  
 9P4=    #UNS AV7900S
 9PHW    (   
 9Q3G    #STR  AV7900,%E 
 9QH6    #STR
 9R2Q    (   
 9RGB                                       [%E = AV7900 (AND %D IS PRESENT) 
 9S22                                       [TEST IF THIS IS A RE-ENTRY TO   
 9SFL                                       [CONTINUE SEARCH OF VIRTUAL 7900 
 9S^=                                       [DEVICE LISTS, IE %C.B0=1
 9TDW          LDXC  0  %C   
 9TYG          BCS      MFVPR1              [CONTINUE SEARCH OF V7900 DLS
 9WD6    )   
 9WXQ    )   
 9XCB    MFPR4   
 9XX2          LINT     %A,%A               [REENTRY & TURN DL PTR BACK TO INT NO
 9YBL          SMO      BDTP 
 9YW=          LDN   0  0(%A)               [PTR TO BDT  
 9^*W          ADN   0  1                   [STEP ON 
 9^TG    MFPR1 SMO      %C   
 =2*6          LDX   %A JPTI+1              [END ADDR OF TYPE
 =2SQ          TXU   0  %A   
 =3#B          BCS      MFPR2               [JIF NOT END OF TYPE 
 =3S2          NGN   %A 4095                [SET %A NEGATIVE IF NO MORE OF TYPE  
 =4?L          BRN      MFPR3
 =4R=    MFPR2 SMO      0
 =5=W          LDX   %A 0                   [PTR TO DEVICE LIST FOR NEXT OF TYPE 
 =5QG          JENVNOT  MFPR3,DME
 =6=6          LGEOG    %A,0 
 =6PQ          BZE   0  MFPR5
 =79B          LDX   0  JK52B(%A)
 =7P2          ANDN  0  2
 =88L    #STR  %F
 =8N=          BNZ   0  %F   
 =97W    #STR  %F
 =9MG    #STR
 ==76          BNZ   0  MFPR4
 ==LQ          BRN      MFPR3
 =?6B    MFPR5   
 =?L2          LDN   0  63   
 =#5L          TXU   0  %C   
 =#K=          BCC      MFPR3               [J IF CONSOLE TYPE   
 =*4W    #STR  %G
 =*JG          BRN      %G   
 =B46    #STR  %G
 =BHQ    #STR
 =C3B          BRN      MFPR4
 =CH2    MFPR3   
 =D2L    )   
 =DG=    [   
 =D^W    #UNS AV7900S
 =FFG    (   
 =F^6    #STR  AV7900,%E 
 =GDQ    #STR
 =GYB    (   
 =HD2                                       [%E = AV7900 
 =HXL          BPZ   %A MFVPR3              [PERIPHERAL FOUND : SKIP V7900 DLS   
 =JC=                                       [SEARCH THE VIRTUAL 7900 DEVICE LISTS
 =JWW                                       [MOVING BACKWARDS AROUND THE 
 =KBG                                       [MISCELLANEOUS CHAIN 
 =KW6    #STR  %D
 =L*Q    (   
 =LTB                                       [%D IS ALSO PRESENT THEREFORE
 =M*2          LDCT  0  #400                [SET %C.B0 TO INDICATE FOR RE-ENTRY  
 =MSL          ORS   0  %C                  [THAT V7900 DLS ARE BEING SEARCHED   
 =N#=    )   
 =NRW          LDN   %A 0
 =P?G          SMO      BMISC
 =PR6    MFVPR1                             [SEARCH FOR NEXT VIRTUAL 7900 DL 
 =Q=Q          LDX   %A BPTR(%A) 
 =QQB          BXE   %A BMISC,MFVPR2        [END OF MISCELLANEOUS CHAIN SEARCH   
 =R=2          LDX   0  ATYPE(%A)
 =RPL          SRC   0  12                  [IGNORE V7900'S WHICH ARE BEING  
 =S9=                                       [CREATED,IE ATYPE.B12-23 SET NON-ZERO
 =SNW          SBN   0  APERI+AV7900 
 =T8G          BNZ   0  MFVPR1              [NOT A V7900 DL : TRY NEXT BLOCK 
 =TN6    #STR  APGEOG,%B 
 =W7Q    #STR
 =WMB          LGEOG    %A,0                [%B = APGEOG 
 =X72    #STR  APFOTY,%B 
 =XLL    #STR
 =Y6=          LTYPE    %A,0                [%B = APFOTY 
 =YKW    #STR  %D
 =^5G    (   
 =^K6                                       [%D IS PRESENT THEREFORE 
 ?24Q          ORX   0  GSIGN               [%C.B0 IS SET SO SET X0.B0 FOR TEST  
 ?2JB    )   
 ?342          BXU   0  %C,MFVPR1           [NOT RELEVANT DL : TRY NEXT BLOCK
 ?3HL          BRN      MFVPR3              [RELEVANT DEVICE LIST FOUND : EXIT   
 ?43=    MFVPR2                             [END OF VIRTUAL 7900 DEVICE LISTS
 ?4GW    #STR  %D
 ?52G    (   
 ?5G6          LDCT  0  #400                [%D IS PRESENT : LEAVE %C.B0 CLEAR   
 ?5^Q          ERS   0  %C   
 ?6FB    )   
 ?6^2          NGN   %A 4095                [SET %A NEGATIVE TO INDICATE NO SUCH 
 ?7DL                                       [PERIPHERAL WAS FOUND
 ?7Y=    MFVPR3                             [EXIT
 ?8CW    [   
 ?8XG    )   
 ?9C6    )   
 ?9WQ    #NOR
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1