Pieter,

>> The would change most branch instructions to relative branches.

I say not "most" but "all". 

Here is a construct that IEABRC (or its X brother) does not handle
well.... 

     B *+4*NUMACONS
     DC  AL4(SOMEWHERE)
     DC  AL4(OVER_THE_RAINBOW)
     .
     .

but these are rare and easy to fix. #

Philippe,

don't go for high hanging fruits (explore new instructions) - go for
the easy to catch and guaranteed to catch all SIIS.

The main advantage of using baseless for code is that you will identify
all cases of sins (SIIS) like

    STC  R,*+5
    MVC  TARGET(*-*),SOURCE
or
    CNOP 4,8
    BAS  R13,*+76    provide new SAVE-AREA
    DC   18F'0'

or   
    NOP  NOTFIRST
    OI   *-3,C'0'     close first-time_gate    

---  it will also catch weird cases like this:
 
    ICM  R,B'1000',*   to make register negative 

(found in IBMs code!!!)

But these are easy to fix and fast to identify and only minimal testing
required - as opposed to implementing new instructions here and there. 

Martin

Reply via email to