The following BRANCH INDIRECT ON CONDITION instruction:

         BIC  8,1234(5,6)

is functionally equivalent to the following two instructions, except that BIC 
does not alter any registers (unlike the second example which modifies general 
register 14). 

         LG    14,1234(5,6)
         BCR   8,14


Other than consolidating the eight bytes of the two instructions into a single 
six-byte instruction, why bother?

BIC is intended to work in conjunction with the new guarded-storage facility 
(GSF) introduced in the z14. GSF is intended to facilitate garbage collection 
for languages such as Java that periodically require urban renewal of blighted 
storage. Once a GSF handling routing has finished its magic, the clean-up 
function is left with an 8-byte return address in the program stack.  Other 
than the program-stack pointer, no other register is available to perform the 
two-instruction branch back to the return address, as shown above. See chapter 
4 of the current PoO (SA22-7832-11) for a description of GSF ... particularly 
programming note 1 on page 4-72 for a brief summary of GSF's function. 

Since BIC is a problem-state instruction, it can be used for other purposes 
too. For example, if you have a table of 8-byte branch addresses that are 
computationally indexed, you can use BIC to effect the branching.  This may be 
handy following a TRT instruction, or in other software-emulated finite-state 
machine code.

As to the often-cited lamentation that more examples should be provided in the 
PoO, the reader is directed to the first sentence in Chapter 1: "This 
publication provides, for reference purposes, a detailed description of 
z/Architecture.™" Although some programming examples are provided in Appendix 
A, the PoO was never intended to be a textbook on assembler-language 
programming. As Mike Stack would assert in his Assembler Language Boot Camp 
sessions as SHARE, learning assembler is like learning a foreign language ... 
it's hard. When John Ehrman was still with IBM, we tried to entice him into 
crafting additional examples for Appendix A, but his was the better solution: 
He came up with a marvelous text book instead (as I recall, this text is 
available on the Marist web site).

Reply via email to