IPCHANGE

(GIN Macro)

Defined in: IPMACROS

Used in:

IPCHANGE.mac.txt
 2KQS ...[??? IPCHANGE SECT CENT FGN 12 DOC  
 2L2L    [   
 2LG=    [                  MACRO     IPCHANGE   
 2L^W    [   
 2MFG    #MAC  IPCHANGE                     [OWEN N JOHN 
 2M^6    [   THIS MACRO REPACES THE DEFAULT VALUE OF IP %A BY %B.. IN FIXED  
 2N3P ...#UNS  FSHTEST   
 2N6# ...#SKI
 2N8X ...      FSHSKIP  B
 2N?G ...(   
 2NB5 ...[   ALL DEFAULT VALUES ARE HELD ON MACHINE A ONLY   
 2NDQ    #DEF  19?+3=1?                     [SAVE LISTING LEVEL  
 2NYB    #LIS 0  
 2PD2    #STR  %B
 2PXL    #STR
 2Q=3 ...(   
 2QJD ...#LIS       19? + 3]                    [CORRECTS BUG 2142   
 2QWW    #SKI K6INSTPARA>200-200 
 2RBG ...#CONSOLE  NO 2ND PARAM TO %A - IPCHANGE IGNORED 
 2RW6 ...! NO 2ND PARAM TO %A - IGNORED  
 2S*Q    #EXIT   
 2STB    )   
 2SX^ ...#UNS  IPEXTENSION+1*IPEXTENSION 
 2T2J ...#DEF  20?=1 
 2T57 ...#UNS  IPEXTENSION+1*IPEXTENSION 
 2T7Q ...#SKI
 2T=* ...#DEF  20?=0 
 2T*2    #ORD
 2TSL    #INT
 2W#=    XIPADD         +DNEWINST           [ADDR OF NEWINST ON B/S  
 2WRW    XBUFF                              [LABEL THE FOLLOWING GAP 
 2WXR ...#SKI  20?   
 2X3N ...#GAP  700                          [PLACE TO PUT TABLE IN CORE  
 2X7K ...#SKI  20?<1$1   
 2X?G    #GAP  512                          [PLACE  TO  PUT TABLE  IN  CORE  
 2XR6    XNAME          12H%A               [PUT CHARS OF IP IN 3 WORDS  
 2XY# ...#SKI  20?   
 2Y5G ...XIPEXTTAB      +IPEXTSTART         [START ADDR OF IP EXTENSION TABLE
 2Y=Q    XLINK          +0                  [PLACE TO PUT LINK ADD.  
 2YQB    [   
 2^=2    [    THIS INTERLUDE READS THE TABLE IN SEGMENT NEWINST LOCATES THE  
 2^PL    [      FIXED CORE ADDRESS OF IP%A AND RETURNS WITH IT IN  19?+0 
 329=    [   
 32NW    [      COMPARISION IS BY CHARACTER STRINGS  
 338G    [   
 33N6    [    19?+1]  IS SET AS WELL :   = -1  IF IPNAME IS INVALID  
 347Q    [   
 34MB    [                               =  0  IF ALL OKAY   
 3572    [   
 35LL    [                               =  1  IF NAME IS ONE OF MOP/JOB/MIN/OP- 
 366=    [                                             TRACE  OR CONTECT 
 36KW    XSPEC          +IMOPTRACE          [THE FIXED CORE ADDR. OF THE SPECIAL 
 375G                   +IMINTRACE          [                             IP S   
 37K6                   +IOPTRACE
 384Q                   +ICONTEXT
 38JB                   +JOBTRACE
 3942    XNSPC          +XNSPC-XSPEC        [NO OF SPECIAL IP S  
 39HL    MENT  STO   0  XLINK               [STORE LINK ADDRESS  
 3=3=          LDN   2  512                 [SIZE OF RECORD TO BE TRANSFERED 
 3=GW          LDN   5  XBUFF               [ADDR. OF RECORD IN CORE (HOPEFULLY) 
 3?2G          LDX   6  XIPADD              [ADD OF TABLE IN NEWINST 
 3?G6         CALL   0  18? + 2] + 3]       [DO THE TRANSFER 
 3?HT ...#SKI  20?   
 3?KJ ...(   
 3?M? ...      LDN   2  188                 [SIZE OF REST OF RECORD TO BE READ   
 3?P2 ...      LDN   5  XBUFF + 512         [RESET ADDR. OF RECORD IN CORE   
 3?QP ...      LDX   6  XIPADD   
 3?SD ...      ADN   6  512                 [RESET ADDR. IN TABLE IN NEWINST 
 3?W7 ...      CALL  0  18? + 2] + 3]       [COMPLETE TRANSFER   
 3?XW ...)   
 3?^Q          LDN   3  XBUFF+IPTABLE       [RELOAD START OF TABLE IN CORE   
 3#5M ...#SKI  20?   
 3#9J ...      LDX   5  IPHEAD-A1(3)        [RECORD LENGTH   
 3#*F ...#SKI  20?<1$1   
 3#FB          LDEX  5  IPHEAD-A1(3)        [RECORD LENGTH   
 3#^2          ADX   5  3                   [END OF TABLE
 3*DL          NGN   0  1
 3*Y=          SBN   3  IPLINE              [AMMEND X3   
 3BCW          STO   0  19?+1               [SET 19?+1 TO DEFAULT OF INVALID IP  
 3BXG          SBN   5  2                   [ACCOUNT FOR 1ST 2 WORDS 
 3CC6          LDX   6  XNAME               [LOAD 1ST 4 CHARS OF IP  
 3CWQ    MLOP  ADN   3  IPLINE              [START OF COMPARISION LOOP   
 3DBB          BXGE  3  5,MENDA             [JUMP IF WE HAVE HIT END OF TABLE
 3DW2          BXU   6  IPNAME-A1(3),MLOP   [TRY NEXT ONE IF NO MATCH
 3F*L          LDX   7  XNAME+1             [AND 2ND 4 CHARS 
 3FT=          BXU   7  IPNAME-A1+1(3),MLOP  
 3G#W          LDX   7  XNAME+2  
 3GSG          BXU   7  IPNAME-A1+2(3),MLOP [3RD 4-CHARS 
 3H#6    [   
 3HRQ    [    SO WE HAVE FOUND IT !!!
 3J?B    [   
 3JH8 ...#SKI  20?<1$1   
 3JR2          LDX   0   IPNUM - A1(3)      [LOAD RELATIVE ADDR  
 3JSC ...#SKI  20?   
 3JTS ...(   
 3JX9 ...      STOZ     19?+2               [INITIALISE INDICATOR OF  IP TABLE   
 3JYL ...      LDXC  0  IPNUM - A1(3)       [LOAD RELATIVE ADDR  
 3K23 ...      BCC      MNOTEXT             [J IF NOT EXTENSION TABLE IP 
 3K3D ...      ADX   0  XIPEXTTAB           [X0=FIXED CORE ADDR. 
 3K4T ...      STO   0  19?+2               [INDICATE EXTENSION TABLE IP 
 3K6= ...      BRN      MSTORE              [J TO STORE X0   
 3K7M ...MNOTEXT 
 3K94 ...)   
 3K=L          ADN   0  INSTPARAM           [X0= FIXED CORE ADDR.
 3KGD ...MSTORE  
 3KQ=          STO   0  19?+0               [STORE ADDR. FOR USE 
 3L9W          STOZ     19? + 1             [INDICATE ALL OKAY   
 3LPG    [   
 3M96    [    NOW TO TEST IF SPECIAL IP  
 3MNQ    [   
 3N8B         LDX    2  XNSPC               [LOAD NO OF SPEC IP S
 3NN2    MRTN BXE   0   XSPEC - 1(2),MSLP   [JUMP IF ADDR MATCH IS MADE  
 3P7L          BCT   2  MRTN                [BACK AGAIN  
 3PM=         BRN       MENDA               [IT WAS NOT A SPEC IP
 3Q6W    MSLP  STO   2  19?+1               [RESET POINTER USING X2 AS NON-ZERO  
 3QLG                                       [           IF A MATCH   
 3R66    MENDA LDX   0  XLINK               [RESTORE LINK
 3RKQ          EXIT  0  0
 3S5B    #JUMP MENT                         [ENTER INTERLUDE 
 3SK2    #EXT
 3T4L    #SKI  19?+1]+1                     [IF WE FAILED NO MORE TO DO  
 3TJ=    (   
 3W3W    #SKI K6INSTPARA>200-200 
 3WHG    #CONSOLE  %A ALTERED TO %B -SUCCESS 
 3X36    #DEF  JCONTEXT0=0   
 3XGQ    #DEF  JCONTEXT=0
 3Y2B    #LIS  19?+3]                       [REASSIGN LISTING LEVEL  
 3Y45 ...#SKI  20?   
 3Y5S ...(   
 3Y7H ...#SKI  19?+2]
 3Y9= ...#MEND CEND                         [EXTENSION TABLE IN CEND 
 3Y=^ ...#SKI  19?+2]<1$1
 3Y#N ...#MEND FIXED                        [ORDINARY IP TABLE IN FIXED  
 3YBC ...)   
 3YD6 ...#SKI  20?<1$1   
 3YG2    #MEND FIXED                        [TO PUT DEFAULT IN FIXED 
 3Y^L    #DEF UNSET=#40000000
 3^F=    #TRA  19?+0]                       [FIND CORRECT ADDR   
 3^YW    #SKI 19?+1]                        [CHECK TYPE OF IP
 42DG    (   
 42Y6    [    IT  IS OF TYPE  CONTEXT OR MOP/MIN/JOB/OP TRACE
 43CQ    #STR %A,CONTEXT 
 43XB    (                                  [IT IS         TYPE  TRACE   
 44C2          CATMASK %B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R,%S,%T,-
 44WL    %U,%V,%W,   
 45B=    #END
 45TW    #EXIT   
 46*G    )                                  [TYPE  CONT EXT  
 46T6          +JCONTEXT%B+JCONTEXT%C+JCONTEXT%D+JCONTEXT%E  
 47#Q    #END
 47SB    #EXIT   
 48#2    )                                  [NORMAL  
 48RL          +%B   
 49?=    #END
 49QW    #EXIT   
 4=5? ...)   
 4=CN ...#LIS       19? + 3]                    [CORRECTS BUG 2142   
 4=Q6    #SKI K6INSTPARA>200-200 
 4?9Q    #CONSOLE    ERROR IN %A - NOT RECOGNISED
 4?PB ...! IP NAME %A IS INVALID 
 4#92     !0 
 4#=Y ...#FREE XIPEXT
 4##W ...)   
 4#BS ...#UNS  FSHTEST   
 4#DQ ...#SKI
 4#GN ...      FSHSKIP  B
 4#JL ...#SKI
 4#K? ...(   
 4#KY ...#SKI  K6INSTPARA>200-200
 4#LK ...#CONSOLE IP VALUES MAY ONLY BE CHANGED IN MACHINE A COMPILATIONS
 4#M= ...! IPCHANGE NOT ALLOWED IN M/C B 
 4#MX ...)   
 4#NL    #NOR
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1