ILLEXC70

(George Source)

Macros used: ACROSS, CHECKBX, FPCACA, HUNT2, P, SEG, SEGENTRY

ILLEXC70.txt
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
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1