On Jun 6, 2012, at 07:28, Watkins, Douglas wrote:

> Here's one way to do standard EXecute without a base register:
>
>         AHI   R2,-1               Minus 1 for EX
> *!not yetEXRL  R2,_EX_MVC_OUTPUT  (Move data to output buffer)
>         LARL  R10,_EX_MVC_OUTPUT  Move data to
>         EX    R2,0(,R10)           output buffer
>
Well, R10 looks like a base register to me.  If you're
critically register-constrained, this may be a problem.
You could likewise do:

    AHI   R2,-1               Minus 1 for EX
    BALR  R10,0
    EX    R2,EX_MVC_OUTPUT-*(,R10)

... in fewer bytes of code (if I got it right).

-- gil

Reply via email to