(GIN Macro)
Defined in: COREMACROS
Used in: CDCIPB864, CLOSEALT864, CLOSEND867, IPBCCA867, IPBCCD867, IPQUAKER865
B?RJ ...[??? SUBRELT SECT CENT FGN 32 DOC B#3B # B#H2 # DELETE A RING FROM THE BLOCK,FIRST DERINGING IT,IT THEN MOVES UP ANY B*2L # SUBSEQUENT RING ELEMENTS UPDATING THEIR POINTERS. THE BLOCK IS SHORTEN B*G= # B*^W #MAC SUBRELT BBFG #STR %A,2 BB^6 LDX 2 %A [ADDRESS OF RING ELEMENT BCDQ STO 2 GEN0 BCYB LDX 0 BPTR(2) BDD2 SMO FPTR(2) BDXL STO 0 BPTR BFC= LDX 0 FPTR(2) BFWW SMO BPTR(2) BGBG STO 0 FPTR BGW6 SMO BSTART(2) BH*Q LDN 2 FPTR(2) [ADDRESS OF BLOCK BHTB LDX 0 ARINGNO(2) BJ*2 SRL 01 15 [X0=LENGTH OF RING ELEMENTS BJSL #STR 1,%B BK#= ( BKRW STO 2 GEN1 BL?G STO 3 GEN2 BLR6 STO 7 GEN3 BM=Q SRL 1 9 [X1=TOTAL NO OF RINGS BMQB LDX 3 GEN0 BN=2 SBN 3 A1(2) BNPL DVS 2 0 [X3=NO OF RING ELS UP TO CONDEMNED ON BP9= SBN 1 1(3) [X1=NO OF RINGS TO BE MOVED BPNW LDX 3 0 [X3=LENGTH OF RING ELEMENTS BQ8G LDX 0 1 [X0=NO OF RINGS TO BE MOVED BQN6 BZE 0 MS1 [J IF NO RING ELEMENTS TO MOVE BR7Q LDX 2 GEN0 [MOVE DESTINATION ADDR BRMB LDX 1 2 BS72 ADX 1 3 [MOVE SOURCE ADDR BSLL MS3 LDX 7 BPTR(1) BT6= BZE 7 MS2 [J IF ELEMENT IS NULL BTKW SMO FPTR(1) [ ELSE UPDATE RING BW5G SBS 3 BPTR BWK6 SMO 7 BX4Q SBS 3 FPTR BXJB MS2 ADS 3 BSTART(1) BY42 MOVE 1 0(3) [MOVE DOWN ELEMENT BYHL ADX 1 3 B^3= ADX 2 3 B^GW BCT 0 MS3 C22G MS1 LDX 0 3 [X0=LENGTH OF RING ELEMENT C2G6 LDX 2 GEN1 C2^Q LDX 3 GEN2 C3FB LDX 7 GEN3 C3^2 ) C4DL LDN 1 1 C4Y= SBS 1 ARINGNO(2) [UPDATE ARINGNO C5CW LDX 1 ALOGLEN(2) C5XG SBX 1 0 [NEW LOGICAL LENGTH C6C6 SHORTEN 2,0(1) C6WQ LDX 1 FX1 C7BB LDX 2 FX2 C7W2 #NOR