{{htmlmetatags>metatag-description:(ICL George 3 and George 4 GIN macro: GETACT)}}
====== GETACT ======
(GIN Macro)
**Defined in:** [[george:source:COREMACROS|COREMACROS]]
**Used in:** [[george:source:ABANDON867|ABANDON867]], [[george:source:ADDICT865|ADDICT865]], [[george:source:BACKMAP864|BACKMAP864]], [[george:source:BACKMASS860|BACKMASS860]], [[george:source:BACKROOM865|BACKROOM865]], [[george:source:BMAPTWO860|BMAPTWO860]], [[george:source:BMCNTRL866|BMCNTRL866]], [[george:source:BMJLIST864|BMJLIST864]], [[george:source:BMSJRNL866|BMSJRNL866]], [[george:source:CDCIPB864|CDCIPB864]], [[george:source:CIMOP867|CIMOP867]], [[george:source:CLOSEMT867|CLOSEMT867]], [[george:source:CLOSEONE867|CLOSEONE867]], [[george:source:COPYFILE867|COPYFILE867]], [[george:source:DETACH867|DETACH867]], [[george:source:DETACHB867|DETACHB867]], [[george:source:DSCNCT867|DSCNCT867]], [[george:source:DTSUBSA867|DTSUBSA867]], [[george:source:DUMMYB867|DUMMYB867]], [[george:source:ERASE867|ERASE867]], [[george:source:FAILTWIN866|FAILTWIN866]], [[george:source:FREEPER867|FREEPER867]], [[george:source:GROPE867|GROPE867]], [[george:source:IDFPROP867|IDFPROP867]], [[george:source:INCEOT865|INCEOT865]], [[george:source:INTWIN866|INTWIN866]], [[george:source:IPBCONS867|IPBCONS867]], [[george:source:IPBJOURN867|IPBJOURN867]], [[george:source:IPBSCAN867|IPBSCAN867]], [[george:source:IPBSTARB867|IPBSTARB867]], [[george:source:IPBSTART867|IPBSTART867]], [[george:source:IPCOND864|IPCOND864]], [[george:source:IPCONE865|IPCONE865]], [[george:source:IPCOPENA83|IPCOPENA83]], [[george:source:IPCOPENB83|IPCOPENB83]], [[george:source:IPCPERI83|IPCPERI83]], [[george:source:IPCSTART864|IPCSTART864]], [[george:source:LIBREQCA867|LIBREQCA867]], [[george:source:LISTEXCP865|LISTEXCP865]], [[george:source:LISTNIP865|LISTNIP865]], [[george:source:LOADPROG865|LOADPROG865]], [[george:source:MODE866|MODE866]], [[george:source:MOPCOM867|MOPCOM867]], [[george:source:MOPCOMB865|MOPCOMB865]], [[george:source:MOPSTART865|MOPSTART865]], [[george:source:OLMTA85|OLMTA85]], [[george:source:OLMTB867|OLMTB867]], [[george:source:OLMTE85|OLMTE85]], [[george:source:ONLINCL864|ONLINCL864]], [[george:source:OPERIN867|OPERIN867]], [[george:source:PCTBEGIN863|PCTBEGIN863]], [[george:source:REDON867|REDON867]], [[george:source:RENAMEMT867|RENAMEMT867]], [[george:source:REQCART866|REQCART866]], [[george:source:RESTOREA866|RESTOREA866]], [[george:source:RETURN867|RETURN867]], [[george:source:RIGHT867|RIGHT867]], [[george:source:SCAN865|SCAN865]], [[george:source:SCHEDMTX867|SCHEDMTX867]], [[george:source:SETIDF867|SETIDF867]], [[george:source:SETJOBQ867|SETJOBQ867]], [[george:source:SETUP867|SETUP867]], [[george:source:SETUPA867|SETUPA867]], [[george:source:SJOPEN863|SJOPEN863]], [[george:source:TPINS861|TPINS861]], [[george:source:TWINSETA866|TWINSETA866]], [[george:source:UNLOADMT867|UNLOADMT867]]
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