For non-executable, RMODE is what you want, not AMODE. AMODE applies only to code running in the module that identifies the AMODE. And of course there is no such code in a non-executable module. So RMODE 64 would be the "right thing".
But the binder does not support RMODE 64 at this point. It will some day. I get IEW2618I 4B40 RMODE 64 ESD ATTRIBUTES HAVE BEEN CHANGED TO RMODE ANY. I don't know the reason that the assembler (and binder) have historically chosen not to flag "short" adcon's. This is demonstrable with a module that is "RMODE 31" but has DC AL3(theMod). TEST CSECT TEST RMODE 31 DC AL3(TEST) END Certainly an option could be added to do this sort of validation. A customer requirement for such a thing would always be helpful (perhaps this is one already, I have no idea). And I will re-iterate: LOAD with ADDR (or ADDR64) ignores the RMODE and assumes the user knows what they're doing. That is where my caution came from. The module would be RMODE 31 (so a 4-byte relocatable adcon is nominally fine) but would not survive if placed above 2G it relied upon that adcon. Peter Relson z/OS Core Technology Design ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN