22FL SEG ILLEXC,70,E.WILLIAMS 22^= SEGENTRY K1ILLEXC,XENT1 23DW #DEF VSCOND=A1+2 23YG #DEF VMASK=A1+5 24D6 #DEF VCAREA=A1+27 24XQ #DEF VINSTR=A1+24 25CB #DEF VACC=A1+12 25X2 XJYRESVIOL +JYRESVIOL 26BL XPTR HUNT2 2,APED,ANOMESS,FX2 26W= EXIT 7 0 27*W # THIS SUBROUTINE CHECKS THAT THE AREA SPECIFIED BY X5 & X6 IS 27TG # WITHIN RESERVATIONS.IF NOT THIS IS GIVEN AS THE REASON FOR THE 28*6 # ILLEGAL UNLESS A REASON HAS ALREADY BEEN FOUND 28SQ XCHECK 29#B FPCACA 1,FX2 29S2 CHECKBX 5,6,RESV,1 2=?L ZA2 EXIT 7 0 2=R= RESV LDX 0 VSCOND(2) 2?=W BNZ 0 ZA2 2?QG SMO FX1 2#=6 LDX 0 XJYRESVIOL 2#PQ STO 0 VSCOND(2) 2*9B BRN ZA2 2*P2 # 2B8L # THIS SEGMENT DEALS WITH THE MOVE,MVCH,SUM&EXIT INSTRUCTIONS 2BN= # 2C7W # ON ENTRY X6=2 EXIT 2CMG # =3 SUM 2D76 # =4 MOVE 2DLQ # =5 MVCH 2F6B XENT1 2FL2 CALL 7 XPTR [PTR TO ILLEGAL BLOCK 2G5L SBN 6 1 2GK= STO 6 VCAREA(2) 2H4W SBN 6 1 2HJG SMO 6 2J46 BRN ZA6 2JHQ ZEXIT 2K3B LDX 3 VINSTR+1(2) 2KH2 SRL 3 21 2L2L SMO 2 2LG= LDX 5 VACC(3) [CONTENTS OF ACC 2L^W ADX 5 VINSTR+2(2) [ADD N(M) OF INSTRUCTION 2MFG ANDX 5 VMASK(2) 2M^6 P STO 5 VCAREA+1(2) 2NDQ CALL 7 XCHECK [CHECK IF WITHIN RESERVATION 2NYB ZA3 ACROSS OPILLS,2 [RETURN 2PD2 ZSUM 2PXL LDX 3 VINSTR+1(2) 2QC= SLC 3 3 2QWW ADN 3 1 2RBG ANDN 3 7 [X3=ACC 2RW6 SMO 3 2S*Q LDX 5 VACC(2) [CONTENTS OF ACC. 2STB ANDX 5 VMASK(2) 2T*2 STO 5 VCAREA+2(2) 2TSL LDX 6 VINSTR+2(2) [N(M) ADDRESS 2W#= ANDN 6 511 2WRW BNZ 6 ZA1 2X?G ADN 6 512 [SET TO 512 IF ZERO 2XR6 ZA1 STO 6 VCAREA+1(2) 2Y=Q CALL 7 XCHECK [CHECK RESERVATIONS 2YQB BRN ZA3 [RETURN 2^=2 ZMOVE 2^PL LDX 6 VINSTR+2(2) [N(M) ADDRESS 329= ANDN 6 511 32NW BNZ 6 ZA4 338G LDN 6 512 [SET TO 512 IF ZERO 33N6 ZA4 STO 6 VCAREA+1(2) 347Q LDX 3 VINSTR+1(2) 34MB SRL 3 21 3572 SMO 3 35LL LDX 5 VACC(2) 366= ANDX 5 VMASK(2) 36KW CALL 7 XCHECK [CHECK RESERVATIONS OF AREA BEING 375G [MOVED 37K6 STO 5 VCAREA+2(2) 384Q ADN 3 1 38JB ANDN 3 7 3942 SMO 3 39HL LDX 5 VACC(2) 3=3= ANDX 5 VMASK(2) 3=GW CALL 7 XCHECK [CHECK RESERVATIONS OF AREA TO WHICH 3?2G STO 5 VCAREA+3(2) [THE MOVE TAKES PLACE 3?G6 BRN ZA3 3?^Q ZA6 BRN ZEXIT 3#FB BRN ZSUM 3#^2 BRN ZMOVE 3*DL ZMVCH 3*Y= STO 6 VCAREA(2) 3BCW LDX 4 VINSTR+2(2) 3BXG ANDN 4 511 3CC6 BNZ 4 ZA5 3CWQ LDN 4 512 3DBB ZA5 STO 4 VCAREA+1(2) 3DW2 LDX 3 VINSTR+1(2) 3F*L SRL 3 21 3FT= CALL 4 XSUBR [COMMON CODE 3G#W STO 5 VCAREA+2(2) 3GSG ADN 3 1 3H#6 ANDN 3 7 3HRQ CALL 4 XSUBR [COMMON COODE 3J?B STO 5 VCAREA+3(2) 3JR2 BRN ZA3 3K=L XSUBR SMO 3 3KQ= LDX 5 VACC(2) 3L9W LDCT 6 #600 3LPG ORX 6 VMASK(2) 3M96 ANDX 5 6 3MNQ LDX 6 5 3N8B SRL 6 22 3NN2 ADX 6 4 3P7L ADN 6 3 3PM= SRL 6 2 3Q6W CALL 7 XCHECK [CHECK RESERVATIONS OF START OR 3QLG # [DESTINATION AREA 3R66 EXIT 4 0 3RKQ #GAP 20 3S5B #END ^^^^ ...03113434000100000000