CSCI 464
100 Points

Base Register Replacement

In this assignment you are to program a solution to the ASSIST Base Register Handling Routine Assignment in the CSCI 464 Notes and Examples.

Requirements

  1. Your program will consist of a CSECT called BROPS2 with four additional CSECTs called BRINIT, BRUSIN, BRDROP, and BRDISP. You should place the base register table in the data (DC and DS) portion of the BROPS2 CSECT, and make it an ENTRY.

  2. Your program documentation must describe each of the four major functions performed by the program. It must also explain the interfaces between ASSIST and the CSECT.

  3. Make your routines efficient. (Among other things, don't use standard linkage conventions for this assignment; save only necessary registers.)

  4. Use the register equates provided by the EQUREGS macro.

  5. Use the JCL and test program provided in this assignment.

  6. Use a bottom driven loop in your BRDISP routine.

JCL and Test Program

//jobname  JOB ,'your name'
//*
//         JCLLIB ORDER=(T90CSCI.CSCI464.PROCLIB)
//STEP1    EXEC ASSIST
//SYSIN    DD   *
*SYSLIB  EQUREGS
         EQUREGS
         TITLE '*** CSCI 464 BASE REGISTER REPLACEMENT ROUTINE ***'
*
         .
         your DSECT (if one is used) for your base register table can go here
         .
*
BROPS2   CSECT
         .       storage for your base register table can be
         .       declared here in this CSECT
*
         .
     your BRINIT, BRUSIN, BRDROP, and BRDISP CSECTs go here
         .
         .
         END
         EJECT
*SYSLIB  BROPSRUN
         BROPSRUN
The last 2 lines above simply a) notify ASSIST that a macro called BROPSRUN is to be copied into this CSECT and b) invoke the macro named BROPSRUN. This macro is a copy of the test program that will be run to test the operation of your replacement modules. By invoking this macro, you do not have to type in the test program; consequently, you do not have to worry about making typing errors. Note that the *SYSLIB begins in column 1.