.NOJUSTIFY .PAPER SIZE 50,120 .LEFT MARGIN 20 .RIGHT MARGIN 85 .; .; .;BUILDING OF INDIRECT MCR A-RCB-0047-SP-19-1 .; .; .FIGURE 2 .TITLE ^^ A-RCB-0047-SP-19-1\\ .SPACING 1 .CENTER 100 ^^A-RCB-0047-SP-19-1\\ .CENTER 100 ------------------ .SKIP 1 .CENTER 100 ^BUILDING OF ^INDIRECT ^^MCR\\ .CENTER 100 ------------------------- .SKIP 1 .CENTER 100 ^GENERAL ^DESCRIPTION .CENTER 100 ------------------- .SKIP 4 .CENTER 100 ^TABLE OF ^CONTENTS .CENTER 100 ----------------- .BREAK .LEFT MARGIN 70 ^^PAGE\\ .BREAK ---- .LEFT MARGIN 20 .TAB STOPS 24,72 .SKIP 1 1. ^^INTRODUCTION 2 .SKIP 1 2. BUILDING OF THE INDIRECT MCR FUNCTION 2 .SKIP 1 2.1 ASSEMBLING ALL THE MACRO ROUTINES 2 .SKIP 1 2.2 CREATING THE INDIRECT MCR LIBRARY 3 .SKIP 1 2.3 TASK-BUILDING THE INDIRECT MCR FUNCTION 3 .SKIP 1 3. DEFICIENCIES 4 .SKIP 1 4. REFERENCES 6 .PAGE .CENTER 100 ^^A-RCB-0047-SP-19-1\\ .CENTER 100 ------------------ .SKIP 1 .CENTER 100 ^BUILDING OF ^INDIRECT ^^MCR\\ .CENTER 100 ------------------------ .SKIP 1 .CENTER 100 ^GENERAL ^DESCRIPTION .CENTER 100 ------------------- .SKIP 2 1. ^^INTRODUCTION\\ .PARAGRAPH ^THE SOURCES FOR THE INDIRECT ^^MCR\\ FUNCTION WERE PART OF THE ^^RSX-11D V6.2\\ RELEASE KIT. ^THEY ARE FOUND ON MAGTAPE ^^DAF-0046-3-MT-7.0/1\\ UNDER ^^UIC [11,25]\\ AND [311,25] (SEE LISTINGS ^^A-RCB-0047-SL-19-1\\ TO -13). ^THESE SOURCES WERE TRANSFERRED TO ^^DEC\\TAPE ^^DAF-0047-19-DT-1.0/1.\\ ^THE INDIRECT ^^MCR\\ FUNCTION CONSISTS OF TWO TASKS, ^^IND.TSK (\\INSTALLED AS ...^^AT.\\) AND ^^INDMCR.TSK\\ (INSTALLED AS ...^^MCR\\). .PARAGRAPH ^THE DESCRIPTION THAT FOLLOWS DESCRIBES THE DEFICIENCIES OF THE INDIRECT ^^MCR\\ FUNCTION, HOW THESE WERE FIXED AND HOW THE INDIRECT ^^MCR\\ TASK WAS BUILT AND INSTALLED. .SKIP 2 2. ^^BUILDING OF THE INDIRECT MCR FUNCTION\\ .SKIP 1 2.1 ^^ASSEMBLING ALL THE MACRO ROUTINES\\ .PARAGRAPH ^ALL THE .^^MAC\\ FILES AND THE ^^INDASM.CMD\\ FILE, FROM ^^DEC\\TAPE ^^DAF-0047-19-DT-1.0/1\\, WERE STORED IN ^^UIC\\ [311,25]. ^ALL THE OTHER .^^CMD, #.OLB\\ AND ^^.ODL\\ FILES WERE STORED IN ^^UIC [11,25].\\ ^THE ^^.STB\\ FILE WAS STORED IN ^^UIC [11,13]. UFD [211,25]\\ WAS CREATED FOR THE .^^LST\\ FILES. .PARAGRAPH ^ALL THE ^^MACRO [1] \\ FILES FOR BOTH THE ^^IND\\ AND ^^INDMCR\\ TASKS WERE ASSEMBLED USING THE INDIRECT COMMAND FILE ^^INDASM.CMD\\ (SEE ^^A-RCB-0047-SL-19-9). .BREAK .SKIP 2 ^^MCR>HEL [10,300] .BREAK MCR>MAC @[311,25]INDASM .PARAGRAPH N\\OW ALL THE .^^OBJ\\ FILES ARE STORED IN ^^UIC [11,25]\\ AND ALL THE .^^LST \\FILES ARE STORED IN ^^UIC [211,25].\\ .SKIP 2 2.2 ^^CREATING THE INDIRECT MCR LIBRARY .PARAGRAPH A\\N INDIRECT ^^MCR\\ LIBRARY [2], CONSISTING OF ALL THE .^^OBJ\\ FILES CREATED IN SECTION 2.1, WAS CREATED USING THE INDIRECT COMMAND FILE ^^INDLBR.CMD \\(SEE ^^A-RCB-0047-SL-19-11). .SKIP 2 ^^MCR>HEL [10,300] .BREAK MCR>LBR @[11,25]INDLBR.CMD .SKIP 2 2.3 ^^TASK-BUILDING THE INDIRECT MCR FUNCTION\\ .PARAGRAPH ^THE INDIRECT ^^MCR\\ FUNCTION CONSISTS OF TWO TASKS, ^^INDMCR.TSK\\ , WHICH IS THE REGULAR ^^MCR\\ TASK, AND ^^IND.TSK\\, WHICH IS THE NEW SECTION TO LOOK AFTER THE INDIRECT PORTION OF THE TASK. .PARAGRAPH ^^INDMCR.TSK\\ WAS BUILT [3] USING THE ^^MCRBLD.CMD\\ FILE (SEE ^^A-RCB-0049-SL-19-14). B\\EFORE RUNNING THIS INDIRECT FILE , CREATE ^^UFD\\ [111,25], WHICH IS REQUIRED FOR THE MAP FILE, AND [11,1], WHICH IS REQUIRED FOR THE TASK IMAGE. .SKIP 2 ^^MCR>HEL [10,300] .BREAK MCR>TKB @[11,25] MCRBLD .SKIP 2 .PARAGRAPH T\\HE ^^ODL\\ FILE USED FOR THIS TASK-BUILD IS ^^MCRBLD.ODL (\\SEE ^^A-RCB-0047-SL-19-15).\\ ^THE TASK IMAGE PRODUCED IS ^^INDMCR.TSK\\ WHICH IS INSTALLED DURING A ^^SYSGEN.\\ .PARAGRAPH ^^IND.TSK\\ WAS BUILT USING THE ^^INDBLD.CMD\\ FILE (SEE ^^A-RCB-0047-SL-19-11). .SKIP 2 ^^MCR>HEL [10,300] .BREAK MCR>TKB @[11,25]INDBLD .BREAK MCR>INS [11,1]IND .PARAGRAPH T\\HE USER'S GUIDE REQUIRED FOR THESE TASKS IS ^CHAPTER 3 OF THE ^^RSX-11M\\ OPERATOR'S PROCEDURE MANUAL, ^^DEC-11-OMOGA-C-D. .SKIP 2 3. ^^DEFICIENCIES\\ .PARAGRAPH ^FIVE DEFICIENCES WERE FOUND WHEN USING THE INDIRECT ^^MCR\\ FEATURE. ^THEY WERE: .SKIP 1 (1) ^THE GLOBAL SYMBOL OPTION WAS NOT SUPPORTED. ^THIS WAS FIXED BY HAVING ALL SYMBOLS DECLARED GLOBAL. .SKIP 1 (2) ^MULTIPLE COPIES OF ...^^AT.\\ COULD NOT RUN AT THE SAME TIME. ^IT WAS FOUND THAT, WHEN THE INDIRECT COMMAND FILE WAS PROCESSED, THE ...^^AT.\\ TASK STAYED IN AN IDLE LOOP UNTIL THE TASK REQUESTED (I.E. ^^TKB,F4P,\\ETC) WAS RUNNING. ^...^^AT.\\ THEN WENT INTO THE SAME IDLE LOOP AGAIN UNTIL THE TASK REQUESTED WAS FINISHED. ^THIS IDLE LOOP ROTATED THE LIGHTS OF THE DATA PATH TO THE RIGHT. ^THEREFORE, THE FIRST COPY OF ...^^AT\\. ALWAYS HAD CONTROL OF THE ^^CPU\\ WHEN THE OTHER TASKS WERE NOT RUNNING. ^IT WAS RUNNING AT PRIORITY 3. ^IN ORDER TO ALLOW THE SECOND COPY OF ...^^AT\\. TO RUN, A ^^WSIG$S\\ WAS ADDED TO THE MODULE ^^INDSUB.MAC\\. ^THIS THEN SUSPENDS THE FIRST COPY OF ...^^AT\\. UNTIL A SIGNIFICANT EVENT HAPPENS, WHICH THEN ALLOWS THE SECOND COPY OF ...^^AT.\\ TO GET IN AND RUN. ^THE IDLE LOOP THAT ROTATED THE LIGHTS OF THE DATA PATH TO THE RIGHT WAS CHANGED TO ROTATE THE LIGHTS TO THE LEFT SO WE COULD DISTINGUISH WHICH WAS RUNNING, ...^^AT.\\ OR THE ^^EXEC.\\ .SKIP 1 (3) ^ANOTHER PROBLEM THAT EXISTED WAS THAT COMPUTE BOUND TASKS LIKE ^^SCU\\ WOULD PREVENT ###...^^AT\\. FROM RUNNING FOR LONG PERIODS OF TIME BECAUSE ...^^AT\\. WAS AT PRIORITY 3. ^THE REASON ...^^AT.\\ WAS AT PRIORITY 3 WAS THAT IT HAD TO BE RUN AT A PRIORITY LOWER THAN ANY TASK IT CALLED. ^SINCE WE PUT IN THE ^^WSIG$S, \\ WE CHANGED THE PRIORITY OF ...^^AT.\\ SO IT WAS GREATER THAN OUR COMPUTE BOUND TASKS. ^IT NOW RUNS AT PRIORITY 49. .SKIP 1 (4) ^LOWER CASE CHARACTERS WERE NOT PASSED BY THE INDIRECT ^^MCR\\ TASK. ^THIS WAS CORRECTED. .SKIP 1 (5) ^THE INDIRECT ^^MCR\\ TASK WOULD NOT ALLOW ANY LEADING BLANKS IN THE INDIRECT COMMAND FILE. ^THIS WAS CORRECTED. .SKIP 1 .PARAGRAPH ^PROBLEMS (1),(4),(5) WERE CORRECTED BY CHANGING ^^INDRCT.MAC\\. ^PROBLEM (2) WAS CORRECTED BY CHANGING ^^INDSUB.MAC.\\ ^PROBLEM (3) WAS CORRECTED BY CHANGING ^^INDBLD.CMD.\\ ^THESE NEW FILES REPLACED THE OLD FILES ON ^^DEC\\TAPE ^^DAF-0047-19-DT-1.0/1. T\\HE DIRECTORY OF THIS ^^DEC\\TAPE IS: .SKIP 40 .PAGE 4. ^^REFERENCES .SKIP 1 [1] "IAS/RSX-11 MACRO-11 REFERENCES MANUAL", DEC-11-OIMRA-B-D, D\\IGITAL ^EQUIPMENT ^CORPORATION,^MAYNARD, ^MASSACHUSETTS. ^REACTOR ^CONTROL ^BRANCH DOCUMENT ^^DAF-0041-5. .SKIP 1 [2] "RSX-11 UTILITIES PROCEDURES MANUAL", DEC-11-OXMDA-A-D,D\\IGITAL ^EQUIPMENT ^CORPORATION, ^MAYNARD, ^MASSACHUSETTS. ^REACTOR ^CONTROL ^BRANCH DOCUMENT ^^DAF-0041-14. .SKIP 1 [3] "RSX-11D TASK BUILDER REFERENCE MANUAL",DEC-11-OXDLA-D-D,D\\IGITAL ^EQUIPMENT ^CORPORATION, ^MAYNARD, ^MASSACHUSETTS. ^REACTOR ^CONTROL ^BRANCH DOCUMENT ^^DAF-0041-7.