Oppolzer - Informatik / Blog


Blog-Hauptseite      Neuester Artikel      Älterer Artikel      Neuerer Artikel      Älterer gleiche Kategorie      Neuerer gleiche Kategorie

ASSEMBLER-L - SYSSTATE usw. für baseless Code

Subject:

Re: ASMA034E

From:

Bernd Oppolzer <bernd.oppolzer@T-ONLINE.DE>

Reply-To:

IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU>

Date:

2014.04.19 23:02:01


In fact, when the IBM macro generates BAL, the missing SYSSTATE is maybe not the
problem.

SYSSTATE is needed if you get such things as LA R1,*+20 because in this case
IEABRC(X) doesn't help.

I have in my startup macro:

    SYSSTATE ARCHLVL=2
    SYSSTATE OSREL=ZOSV1R8
    IEABRCX DEFINE

SYSSTATE makes sure, that the IBM macros don't use LA etc. to get the addresses
of inline parameter lists (but BAL instead, for example)

and IEABRCX takes care that the BAL is replaced by the proper relative branch.

Thank you, regards

Bernd



Am 19.04.2014 22:35, schrieb B.D.:
> Copy IEABRC
>
> On Sat, 19 Apr 2014 18:35:49 GMT E.J. wrote:
>
> :> hello
> :>
> :> I know this topic has been discussed before..
> :> Im on a Z/OS 1.7 system with HLASM R5.0
> :> ...
> :> Im trying to maintain the concept of "Baseless Code" in some programs,
> :> I keep running into some macros on Z/os 1.7 that use  BAL R15,*+20
> :> .
> :> .
> :> And as such i receive message
> :> ** ASMA034E Operand *+20 beyond active USING range by 185 bytes
> :> ** ASMA435I Record 124 in SYS1.MACLIB(IHBINNRB) on volume: S7RES1
> :> .
> :> .
> :> I could move the routine to another location in this module, and that
> :> would avoid the ASMA034E. Is there a recommended technique to use where
> :> I could convert the BAL instruction in the macro to another branch instruction ?
> :> .
> :> .
> :> P.
> :>
>
> --
> B.D.

Blog-Hauptseite      Neuester Artikel      Älterer Artikel      Neuerer Artikel      Älterer gleiche Kategorie      Neuerer gleiche Kategorie