GETACT

(GIN Macro)

Defined in: COREMACROS

Used in: ABANDON867, ADDICT865, BACKMAP864, BACKMASS860, BACKROOM865, BMAPTWO860, BMCNTRL866, BMJLIST864, BMSJRNL866, CDCIPB864, CIMOP867, CLOSEMT867, CLOSEONE867, COPYFILE867, DETACH867, DETACHB867, DSCNCT867, DTSUBSA867, DUMMYB867, ERASE867, FAILTWIN866, FREEPER867, GROPE867, IDFPROP867, INCEOT865, INTWIN866, IPBCONS867, IPBJOURN867, IPBSCAN867, IPBSTARB867, IPBSTART867, IPCOND864, IPCONE865, IPCOPENA83, IPCOPENB83, IPCPERI83, IPCSTART864, LIBREQCA867, LISTEXCP865, LISTNIP865, LOADPROG865, MODE866, MOPCOM867, MOPCOMB865, MOPSTART865, OLMTA85, OLMTB867, OLMTE85, ONLINCL864, OPERIN867, PCTBEGIN863, REDON867, RENAMEMT867, REQCART866, RESTOREA866, RETURN867, RIGHT867, SCAN865, SCHEDMTX867, SETIDF867, SETJOBQ867, SETUP867, SETUPA867, SJOPEN863, TPINS861, TWINSETA866, UNLOADMT867

GETACT.mac.txt
 9N#S ...[??? NOISY SECT CENT FGN 32 DOC 
 9NS= ...[[  
 9P?N ...[[ THE NOISY MACRO IMPLEMENTS THE NOISY CORE SYSTEM.
 9PR6 ...[[  IT SHUFFLES CORE, USING COREALLF, BEFORE ENTERING SELECTED CHAPTER  
 9Q=J ...[[  
 9QQ2 ...[#MAC  NOISY
 9R9D ...[#SKI  FNOISE   
 9RNW ...[(  
 9S8# ...[#OPT  NOISENOW=1                   [ =1 IF NO NOISY HAS BEEN ISSUED YET
 9SMQ ...[#SKI  NOISENOW                  [ INCLUDE CODE ONLY IF NO NOISY MACRO  
 9T78 ...[(                                  [   HAS BEEN ISSUED YET 
 9TLL ...[#DEF  26?=1?   
 9W64 ...[#LIS  %B+0 
 9WKG ...[      FCMENDV  
 9X4Y ...[      REPLACER GNCCODE,FCNCXEQ     [ POINTER TO SUBROUTINE ENTRY POINT 
 9XJB ...[      FCENDV                       [   AND DUMP AREA   
 9Y3S ...[      CXMEND   %A,SELECT           [ J TO CXEND IF NEXT CHAP NOT SELECT
 9YH= ...[      JBS      Z1A,2,BYPASS        [ NOISY MOVE ALREADY DONE IF BIT SET
 9^2N ...[      SMO      GNCCODE 
 9^G6 ...[      LDX   0  1+ALINK1-ACC3       [ LOAD DUMP OF ALINK1   
 9^^J ...[      BNZ   0  Z1B              [ J IF NON-ZERO.  A NOISY IN PROGRESS  
 =2F2 ...[      SMO      GNCCODE 
 =2YD ...[      LDX   0  1                   [ DUMP WORDS ACC3 TO ACOMMUNE9 OF   
 =3CW ...[      LDX   7  ACC3(2)             [   CURRENT ACTIVITY IN WORKSPACE   
 =3X# ...[      MOVE  7  ACOMMUNE9+1-ACC3    [   AT ZCACCDP, AND 
 =4BQ ...[      BS       2,BYPASS            [   SET BIT INDICATING NOISY ENTERED
 =4W8 ...[      LDN   0  ACC3-1              [ NOW USE ACOMMUNE1 AS POINTER TO   
 =5*L ...[      STO   0  ACOMMUNE1(2)        [   NEXT DATA WORD TO CHECK 
 =5T4 ...[      LDN   5  0                   [ X5 IS SUCCESS OR FAIL MARKER IN   
 =6#G ...[      ACROSS   COREALLF,4          [   COREALLF.  X5=0 => FAIL 
 =6RY ...[ LABFIX FCNCXEQ     [ (GNCCODE) IDENTIFIES BOTH S/R ENTRY PT AND DUMP  
 =7?B ...[      BRN      XEQ                 [ JUMP TO EXECUTE S/R CODE  
 =7QS ...[[ WORK SPACE - FIXED AT (GNCCODE)+1 TO ALLOW REPLACED ADDRESSING OF
 =8== ...[[     CORE ABOVE 4095  
 =8PN ...[#REP  ACOMMUNE9+1-ACC3             [ DUMP OF WORDS ACC3 TO ACOMMUNE9   
 =996 ...[               +0  
 =9NJ ...[[ THE SUBROUTINE CALLED FROM COREALLF (WITH X4 AS LINK)
 ==82 ...[[     WHEN ALL MOVES COMPLETED, NOISY EXITS FROM THE MIDDLE OF THIS
 ==MD ...[[     SUBROUTINE.  HENCE THE CODE AT COREALLF,4 IS A LOOP  
 =?6W ...[XEQ   BZE   5  Z5                  [ IF CORE WAS SUCCESSFULLY OBTAINED,
 =?L# ...[      FREECORE FPTR(2)             [   FREE IT 
 =#5Q ...[Z5    LDN   7  1                [ POINT TO NEXT DATA WORD OF ACTIVITY  
 =#K8 ...[      ADS   7  ACOMMUNE1(2)        [   BLOCK   
 =*4L ...[      LDN   6  ACOMMUNE9   
 =*J4 ...[      BXL   6  ACOMMUNE1(2),Z3     [ IS THIS ONE OF THE DUMPED WORDS?  
 =B3G ...[      LDX   3  ACOMMUNE1(2)        [ IF SO, GET IT FROM THE DUMP AREA  
 =BGY ...[      SBN   3  ACC3-1           [ X3 IS A POINTER RELATIVE TO FCNCXEQ  
 =C2B ...[      SMO      GNCCODE 
 =CFS ...[      LDX   6  0(3)
 =C^= ...[      BRN      Z2  
 =DDN ...[Z3    SMO      ALOGLEN(2)          [ IF NOT, TEST THAT THE POINTER DOES
 =DY6 ...[      LDN   6  A1-1                [   NOT POINT PAST THE END OF THE   
 =FCJ ...[      BXL   6  ACOMMUNE1(2),Z4     [   DATA IN THE ACTIVITY BLOCK  
 =FX2 ...[      SMO      ACOMMUNE1(2)        [ IF OK, GET THE WORD FROM THE  
 =GBD ...[      LDX   6  0(2)                [   ACTIVITY BLOCK  
 =GTW ...[Z2    ANDX  6  BITS22LS            [ GET THE BLOCK BOUNDARY ADDRESS
 =H*# ...[      ANDX  6  IROUNDNG            [   JUST BELOW THE ADDRESS IN THIS  
 =HSQ ...[      BXL   6  FCORES,Z5           [   WORD, AND TEST IF IT LIES IN
 =J#8 ...[      BXGE  6  GFIXCHAP,Z5      [   VARIABLE CORE. IF NOT, GO TO NEXT  
 =JRL ...[      LDN   7  A1+IROUND-1         [ PUT SMALLEST POSSIBLE BLOCK SIZE  
 =K?4 ...[      ANDX  7  IROUNDNG            [   IN X7   
 =KQG ...[      ADX   6  7                   [ CHECK THAT THE BLOCK WOULD NOT
 =L9Y ...[P2    BXL   6  GFIXCHAP,P1         [   EXTEND PAST GFIXCHAP
 =LPB ...[      SBN   6  IROUND              [ IF IT WOULD, MOVE X6 DOWN 
 =M8S ...[      BRN      P2                  [   SUFFICIENTLY
 =MN= ...[P1    SBX   6  7                   [ X6,X7 SET UP.  EXIT TO COREALLF TO
 =N7N ...[      EXIT  4  0                   [ DO THE COREFREEZE, SO MOVING THE  
 =NM6 ...[[     BLOCK WHICH THIS DATA WORD IN THE ACTIVITY BLOCK MAY HAVE BEEN   
 =P6J ...[[     POINTING TO  
 =PL2 ...[Z4    NGN   7  1                   [ HAVING TESTED ALL DATA WORDS, WE  
 =Q5D ...[      STO   7  GEN0             [   OVERWRITE THE COMMON 'SCRATCHPAD'  
 =QJW ...[      LDN   6  GEN0                [   WORDS GEN0-GEN6 WITH -1, IN CASE
 =R4# ...[      LDN   7  GEN1                [   THEY TOO HELD LINKS OVER A  
 =RHQ ...[      MOVE  6  GEN6-GEN0           [   COORDINATION
 =S38 ...[      SMO      GNCCODE 
 =SGL ...[      LDN   6  1                   [ RESTORE THE DUMPED WORDS TO THE   
 =T24 ...[      LDN   7  ACC3(2)             [   ACTIVITY BLOCK  
 =TFG ...[      MOVE  6  ACOMMUNE9+1-ACC3
 =TYY ...[      SMO      GNCCODE 
 =WDB ...[      STOZ     1+ALINK1-ACC3       [ CLEAR THE 'NOISY IN ACTION' MARKER
 =WXS ...[      FON      FORACCDP         [ WAKE UP ACTIVITIES WAITING FOR TURN  
 =XC= ...[      FPUT                         [ PUT THIS ACTY ON END OF ACTY LIST 
 =XWN ...[      COOR1X                    [   AND PUT IT TO SLEEP.  ON RE-ENTRY  
 =YB6 ...[[     TO THE COORDINATOR, THE BY-PASS BIT IS SET AND THIS CORE MOVING  
 =YTJ ...[[     CODE WILL BE SKIPPED 
 =^*2 ...[Z1B   COOR3X   FORACCDP            [ WAIT FOR TURN IN NOISY
 =^SD ...[Z1A   BC       2,BYPASS            [ CLEAR BY-PASS BIT AND COMPLETE THE
 ?2?W ...[      CXEND                        [   COORDINATION
 ?2R# ...[#ALT  NOISENOW=0   
 ?3=Q ...[#LIS  26?  
 ?3Q8 ...[)  
 ?49L ...[)  
 ?4P4 ...[#NOR   
 ?5=# ...[??? GETACT SECT CENT FGN 32 DOC
 ?5G6    #     THESE MACROS GET ACTIVITY BLOCKS  
 ?5^Q    #   
 ?6FB    #MAC  GETACT
 ?6^2    #STR  %B
 ?7DL          GETCORAL %BLEN+%ALEN,N,HMANDAT+HACTY+0%C:0
 ?7Y=    #STR  %B
 ?8CW    #SKI
 ?8XG          GETCORAL %ALEN,N,HMANDAT+HACTY+0%C:0  
 ?9C6          FINDCORE 1
 ?9WQ          NAME     1,%A,%B  
 ?=BB          ADN   1  ACTRING  
 ?=W2          ENRING   1,ACTRING+BPTR(2)
 ??*L          CHAIN    FPTR(2),BPTR(2)  
 ??GS ...#UNS  ICT   
 ??N2 ...      APGA  %A,%B   
 ??T=    #NOR
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1