Thanks for all of the comments. I had some offline as well as online.
I found John R. Ehrman's book very interesting, a bit of bedtime reading.
I called my code using #PRAGMA LINKAGE(xxx,OS), and did not need to worry
about XPLINK.
Because the z/OS routines I was using are 31 bit, I needed to g
Fixed the typo!
__asm__(
" LLGT 15,%[ep]\n"
" LR 1,%[PARMS]\n"
" LR 13,%[savearea]\n"
" SAM31\n"
" BALR 14,15\n"
" SAM64\n"
" ST 15,%[rc]\n"
: [rc]"=m"(rc)
: [ep]"m"(ep), [savearea]"r"(&mem31->savearea),
[parms]"r"(&mem31->parms)
: "r0", "r1", "r13", "r14", "r15"
);
On 29/0
You need to use inline assembly with SAM31/SAM64 AMODE switching. All of
our stuff is 64-bit so we do this a lot. Don't forget to allocate the
savearea and parmlist/parms below the bar.
__asm__(
" LLGT 15,%[ep]\n"
" LR 1,%[PARMS]\n"
" LR 13,%[savearea]\n"
" SAM31\n"
" BALR 14,15\n"
Joe Monk
> To: IBM-MAIN@LISTSERV.UA.EDU
> Sent: Tue, Jun 28, 2022 7:33 pm
> Subject: Re: is there any documentation on using the new 64 bit
> instructions?
>
> If youre using LE, you can't mix 31 and 64 bit, because 64-bit C using LE
> uses a 64-bit XPLINK which passes par
there any documentation on using the new 64 bit instructions?
If youre using LE, you can't mix 31 and 64 bit, because 64-bit C using LE
uses a 64-bit XPLINK which passes parameters from the stack above the bar.
I think you will have to write a glue assembler module to receive control
in AMODE 64
MAIN@LISTSERV.UA.EDU
Subject: Re: is there any documentation on using the new 64 bit instructions?
If youre using LE, you can't mix 31 and 64 bit, because 64-bit C using LE
uses a 64-bit XPLINK which passes parameters from the stack above the bar.
I think you will have to write a glue as
If youre using LE, you can't mix 31 and 64 bit, because 64-bit C using LE
uses a 64-bit XPLINK which passes parameters from the stack above the bar.
I think you will have to write a glue assembler module to receive control
in AMODE 64 then SAM31 CALL SAM64 and back.
Joe
On Tue, Jun 28, 2022 a
Try John Ehrman's Assembly Language Programming
On 2022-06-29 00:12, Colin Paice wrote:
I've been working on calling an (amode 31) assembler program from a 64
bit
C program, and have been struggling.Is there is a good guide on how to
use
these new instructions?
For example
1)
I've found you ne
Sent: Tuesday, June 28, 2022 11:08 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: is there any documentation on using the new 64 bit instructions?
Peter,
I call my Assembler program from C using
*#pragma linkage(QEDIT , OS) rc = QEDIT( pParm ); *
and get round the XPLINK challenge.
I could not
e Discussion List On Behalf
> Of Colin Paice
> Sent: Tuesday, June 28, 2022 10:13 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: is there any documentation on using the new 64 bit instructions?
>
> I've been working on calling an (amode 31) assembler program from a 64 bit
> C progra
mbler list as well, though I think almost
everyone who lurks there also lurks here.
Peter
-Original Message-
From: IBM Mainframe Discussion List On Behalf Of
Colin Paice
Sent: Tuesday, June 28, 2022 10:13 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: is there any documentation on using the
I've been working on calling an (amode 31) assembler program from a 64 bit
C program, and have been struggling.Is there is a good guide on how to use
these new instructions?
For example
1)
I've found you need to use a LLGTR R1... instruction to clear the register
before using a L R1... because wit
12 matches
Mail list logo