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