This problem is still in flux and I have other priorities at this instant. But having kinda sorta said @Peter was wrong I wanted to get back here and say there is something going on that I do not understand.
Yes, LE worked as desired when I set off the AMODE 64 bit as I wrote the below. But I also had it work as desired in one test yesterday when I did *not* set off that bit. So yes, perhaps setting off that bit is irrelevant and the success was coincidental. More research required. Something (in my code?) is having unintended side effects. Pretty simple code and hard to see what might be wrong, but that's what makes programming fun, right? Charles -----Original Message----- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Charles Mills Sent: Tuesday, August 29, 2017 8:13 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Can AMODE 31 C/C++ get a signal on a S0C1/4 in AMODE 64 assembler? @Peter, thanks as always. I had not noticed SPIEOVERRIDE. It would be a better approach than "remember to turn off SPIE in LE." There's not many AMODE 64 instructions -- basically load up a 64-bit pointer and move the data below the bar. I wonder if perhaps FRR would be appropriate. (Not a question for you; a question for me.) There's little doubt about the behavior I saw, and in fact, I only set off bit 31 in the SDWAPSW16, nothing else. I'm on another problem at the moment but I will repeat the experiments for sure at some point here. L R3,SDWAXPAD Load SDWA extension ptrs L R4,SDWAXEME-SDWAPTRS(,R4) Load ptr to 64-bit regs USING SDWARC4,R4 * NI SDWAPSW16+3,X'FE' * LR R1,R9 SDWA SETRP RC=0 Percolate! * NOSDWA EQU * DROP R9,R4 * RETURN EQU * LR R14,R8 Restore R14 BR R14 Return ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN