Browse Prior Art Database

Generating Tests with Always Available Registers

IP.com Disclosure Number: IPCOM000112446D
Original Publication Date: 1994-May-01
Included in the Prior Art Database: 2005-Mar-27
Document File: 2 page(s) / 46K

Publishing Venue

IBM

Related People

Mickelson, KB: AUTHOR

Abstract

When tests are created automatically, one problem is how to assign the general purpose registers so that multiple operations can be created. This paper describes a way to both test intermediate results and load registers so that two operations can use the same register.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 61% of the total text.

Generating Tests with Always Available Registers

      When tests are created automatically, one problem is how to
assign the general purpose registers so that multiple operations can
be created.  This paper describes a way to both test intermediate
results and load registers so that two operations can use the same
register.

      Once the decision had been made to allocate a GPR for every
need, the I/O generator set aside a special block of system memory.
This block allowed a known space to be used to initialize and test
the GPRs.  This is important when a currently used GPR is needed for
another operation.  When a GPR is needed, the test generator is aware
whether the current value needs to be stored for testing and a
subsequent value loaded into that GPR.

      In other words, whenever GPRS are in use, as needed GPR
contents are preserved in system memory.   This process of loads or
stores and loads is created before the GPRs for the next instruction
are required and placed in the instruction stream of the testcase.

There are two sequences:

1.  GPRs are required for a STORE
     a.  A call is made to GPR SETUP procedure specifying the data
and
        the number of bytes required.
     b.  The procedure selects the starting GPR (to be returned) and
        defines either setup cards for the GPR or puts the data into
        memory and creates a LOAD from that address.  That
        instruction is then placed into...