UPDOLC
(GIN Macro)
Defined in: DUMP-MACROS
Used in: DTSTART867, DTSUBSA867, SCHEDMTX867
- UPDOLC.mac.txt
9FG4 ...[??? UPDOLC SECT FILE FGN 65 DOC 9G9G [ 9GP6 [ 9H8Q ...[ THIS MACRO IS DESIGNED TO DO A NON-CORDINATING SEARCH OF THE 9HNB [ OLC, UPDATING ALL THE RELEVANT REQUEST BLOCKS. THERE ARE FOUR 9J82 [ ENTRY POINTS CORRESPONDING TO FOUR SEPERATE ACTIONS TO BE TAKEN 9JML [ 9K7= [ 1 XTAPEM/XTAPEP : SEARCH DOWN THE OFF LINE CHAIN 9KLW [ INCREMENTING/DECREMENTING ADTCOUNT IN 9L6G [ ALL REQUEST BLOCKS WHOSE INC. NO. IS IN 9LL6 [ THE RANGE GIVEN BY FILE FDINCS BLOCK 9M5Q [ 9MKB ...[ ENTRY : X2 = FX2 9N52 ...[ FILE FDINCS BLOCK PRESENT 9NJL [ 9P4= [ 2 XCOUNT : SEARCH DOWN OLC UPDATING ADTCOUNT WITH A 9PHW ...[ VALUE SPECIFIED IN X0, IN ALL REQUEST 9Q3G [ BLOCKS WHOSE INC. NO. IS SAME AS IN X4 9Q?# ...[ AND WHOSE FILESTORE NUMBER IS IN X6. 9QH6 [ 9R2Q [ ENTRY : X2 = FX2 9RGB [ X0 = COUNT OF DTAS AVAILABLE 9S22 [ X4 = INC. NO. 9S9S ...[ X6 = FILESTORE NUMBER 9SFL [ 9S^= [ 3 XSTATE : SEARCH DOWN OLC SETTING APPROPRIATE BIT IN 9TDW [ FDTSTATE WORD IN ALL REQUEST BLOCKS WHOSE 9TR? ...[ INC.NO. IS GIVEN IN X4 AND WHOSE FILESTORE 9W5N ...[ NUMBER IS IN X6 9WD6 [ 9WXQ [ ENTRY : X2 = FX2 9XCB [ X0 = STATE WORD 9XX2 [ X4 = INC. NO. 9Y6S ...[ X6 = FILESTORE NUMBER 9YBL [ 9YW= [ EXIT IN ALL THESE CASES ALL THE ACCUMULATORS ARE CORRUPTED 9^TG [ =2*6 [ NOTE THE LINK ACCUMULATOR IS X7 =3#B #MAC UPDOLC =3FJ ...#UNS FTS2 =3LQ ...( =3S2 #DEF XTAPEM=0? =4?L NGN 5 1 =4R= BRN M1UPDOLC =5=W #DEF XTAPEP=0? =5QG LDN 5 1 =6=6 M1UPDOLC =6PQ ... STO 7 ACOMMUNE1(2) [STORE LINK =79B LDX 7 GSIGN [SET FLAG NEGATIVE TO INDICATE TO =7P2 [ INCREMENT/DECREMENT ADTCOUNT =88L MHUNTW 1,FILE,FDINCS =8DD ... LF 1,FDINCFSNO,6 [X6 => FILESTORE NUMBER =8N= LDX 0 5 =97W LDN 5 0 [X5 USED TO ACCUMULATE COUNT =9MG M2UPDOLC ==76 ... BXL 5 FDINCNO(1),M4UPDOLC [J IF MORE INCS IN FDINCS ==LQ M3UPDOLC =?6B ... LDX 2 FX2 [RESET X2 =?L2 ... LDX 7 ACOMMUNE1(2) =#5L EXIT 7 0 =#K= #DEF XCOUNT=0? =*4W ... STO 7 ACOMMUNE1(2) [PRESERVE LINK ADDRESS =*JG STOZ 7 [ SET FLAG ZERO =B46 BRN M5UPDOLC =BHQ #DEF XSTATE=0? =C3B ... STO 7 ACOMMUNE1(2) [ PRESERVE LINK ADDRESS =CH2 [ X7 = +VE VALUE =D2L BRN M5UPDOLC =DG= M4UPDOLC =D^W ... LDN 2 FDINCLEN =FFG MPY 2 5 [X3 -> POSITION IN FDINCS =F^6 SMO 3 =GDQ ... LDX 4 FDINCINC(1) [X4 = INC. NO. IN FDINCS BLOCK =GYB M5UPDOLC =HD2 [ =HXL [ SEARCHS OLC UPDATING COUNT OR STATE WORD FOR ALL FREQS =JC= [ HAVING INC NOS IN FDINCS BLOCK =JWW [ =KBG LDX 2 BOLC =KW6 M6UPDOLC =L*Q LDX 2 FPTR(2) =LTB BXE 2 CXOL,M3UPDOLC [J IF END OF CHAIN =M*2 BXE 4 FDTINCNUM(2),M7UPDOLC [J IF INC NO IN FDINCS = INC OF =MSL [FREQ CURRENTLY POINTED AT =N#= BXGE 4 FDTINCNUM(2),M6UPDOLC [J IF NOT YET REACHED INC IN OLC =NJ4 ...M10UPDOLC =NRW BPZ 7 M3UPDOLC [J IF NOT XTAPEM/XTAPEP S/R =P?G ADN 5 1 [LOOK AT NEXT FDINCS ENTRY =PR6 BRN M2UPDOLC =Q=Q M7UPDOLC =QCY ... BXL 6 FDTFILSTR(2),M10UPDOLC [J IF FILESTORE NOT THERE =QK6 ... BXU 6 FDTFILSTR(2),M6UPDOLC [J IF FILESTORE NOT YET REACHED =QQB BPZ 7 M8UPDOLC =R=2 ADS 0 ADTCOUNT(2) [DECREASE OR INCREASE ADTCOUNT =RPL BRN M6UPDOLC =S9= M8UPDOLC =SNW BZE 7 M9UPDOLC =T8G ... ORS 0 FDTSTATE(2) [ UPDATE STATE WORD =TN6 BRN M6UPDOLC =W7Q M9UPDOLC =WMB STO 0 ADTCOUNT(2) [UPDATE COUNT WORD =X72 BRN M6UPDOLC =XLT ...) =XM4 ...#UNS FTS2 =XM? ...#STR =XMG ...( =XMP ...#DEF XTAPEM=0? =XMY ... NGN 5 1 =XN7 ... BRN M1UPDOLC =XNB ...#DEF XTAPEP=0? =XNK ... LDN 5 1 =XNS ...M1UPDOLC =XP3 ... STO 7 AWORK1(2) [STORE LINK =XP= ... LDX 7 GSIGN [SET FLAG NEGATIVE TO INDICATE TO =XPF ... [ INCREMENT/DECREMENT ADTCOUNT =XPN ... MHUNTW 1,FILE,FDINCS =XPX ... LDX 0 5 =XQ6 ... LDN 5 0 [X5 USED TO ACCUMULATE COUNT =XQ* ...M2UPDOLC =XQJ ... BXL 5 A1(1),M4UPDOLC [J IF MORE INCS IN FDINCS =XQR ...M3UPDOLC =XR2 ... SMO FX2 =XR9 ... LDX 7 AWORK1 =XRD ... EXIT 7 0 =XRM ...#DEF XCOUNT=0? =XRW ... STO 7 AWORK1(2) [PRESERVE LINK ADDRESS =XS5 ... STOZ 7 [ SET FLAG ZERO =XS# ... BRN M5UPDOLC =XSH ...#DEF XSTATE=0? =XSQ ... STO 7 AWORK1(2) [ PRESERVE LINK ADDRESS =XS^ ... [ X7 = +VE VALUE =XT8 ... BRN M5UPDOLC =XTC ...M4UPDOLC =XTL ... LDN 2 INCMAGLEN =XTT ... MPY 2 5 [X3 -> POSITION IN FDINCS =XW4 ... SMO 3 =XW? ... LDX 4 A1+1(1) [X4 = INC. NO. IN FDINCS BLOCK =XWG ...M5UPDOLC =XWP ...[ =XWY ...[ SEARCHS OLC UPDATING COUNT OR STATE WORD FOR ALL FREQS =XX7 ...[ HAVING INC NOS IN FDINCS BLOCK =XXB ...[ =XXK ... LDX 2 BOLC =XXS ...M6UPDOLC =XY3 ... LDX 2 FPTR(2) =XY= ... BXE 2 CXOL,M3UPDOLC [J IF END OF CHAIN =XYF ... BXE 4 FDTINCNUM(2),M7UPDOLC [J IF INC NO IN FDINCS = INC OF =XYN ... [FREQ CURRENTLY POINTED AT =XYX ... BXGE 4 FDTINCNUM(2),M6UPDOLC [J IF NOT YET REACHED INC IN OLC =X^6 ... BPZ 7 M3UPDOLC [J IF NOT XTAPEM/XTAPEP S/R =X^* ... ADN 5 1 [LOOK AT NEXT FDINCS ENTRY =X^J ... BRN M2UPDOLC =X^R ...M7UPDOLC =Y22 ... BPZ 7 M8UPDOLC =Y29 ... ADS 0 ADTCOUNT(2) [DECREASE OR INCREASE ADTCOUNT =Y2D ... BRN M6UPDOLC =Y2M ...M8UPDOLC =Y2W ... BZE 7 M9UPDOLC =Y35 ... STO 0 FDTSTATE(2) [ UPDATE STATE WORD =Y3# ... BRN M6UPDOLC =Y3H ...M9UPDOLC =Y3Q ... STO 0 ADTCOUNT(2) [UPDATE COUNT WORD =Y3^ ... BRN M6UPDOLC =Y4C ...) =Y6= #NOR