It only uses R15, the entry address.

On Wed, Mar 17, 2021 at 12:18 PM Joe Monk <[email protected]> wrote:
>
> How is this supposed to work without saving/restoring registers?
>
> Joe
>
> On Wed, Mar 17, 2021, 12:07 Charles Mills <[email protected]> wrote:
>
> > That is some impressive hacking!
> >
> > Something about it seems inherently risky as you know, but hard to see how
> > it stops working. Which particular line of code might not be supported in
> > the future?
> >
> > Charles
> >
> >
> > -----Original Message-----
> > From: IBM Mainframe Discussion List [mailto:[email protected]] On
> > Behalf Of Farley, Peter x23353
> > Sent: Wednesday, March 17, 2021 8:50 AM
> > To: [email protected]
> > Subject: This Call-Assembler-inside-COBOL technique works, but is it risky
> > to use?
> >
> > I discovered that one can code and call extremely simple assembler code
> > from
> > completely within a COBOL source program, but it is a two-step process
> > which
> > I will describe below.
> >
> > My question is whether using a technique like this is "risky" in the sense
> > that it may someday, under a future incarnation of the compiler, stop
> > working?
> >
> > The technique:
> >
> > Code a simple assembler program like the following and browse the resulting
> > listing that shows the generated object code:
> >
> > COBSTCKE CSECT ,
> >          L     15,0(,1)  GET ARGUMENT ADDRESS
> >          STCKE 0(15)     STCKE INTO ARGUMENT AREA
> >          XR    15,15     SET RETURN CODE = 0
> >          BR    14        RETURN TO CALLER
> >
> > Then copy the generated object code into a COBOL source program as follows:
> >
> >        ID DIVISION.
> >        PROGRAM-ID. COBSTCKE.
> >        ENVIRONMENT DIVISION.
> >        DATA DIVISION.
> >        WORKING-STORAGE SECTION.
> >        01  WS-TOD-VALUE              PIC  X(16).
> >
> >        01  WS-GETTOD-PROGRAM.
> >       *                 GET ARGUMENT ADDRESS         L  15,0(,1)
> >            05  FILLER       PIC  X(04) VALUE X'58F01000'.
> >       *                 STCKE INTO ARGUMENT AREA     STCKE 0(15)
> >            05  FILLER       PIC  X(04) VALUE X'B278F000'.
> >       *                 SET RETURN-CODE = 0          XR 15,15
> >            05  FILLER       PIC  X(02) VALUE X'17FF'.
> >       *                 RETURN TO CALLER             BR 14
> >            05  FILLER       PIC  X(02) VALUE X'07FE'.
> >
> >        01  WS-GETTOD-PTR.
> >            05  GETTOD-ADDR            PROCEDURE-POINTER VALUE NULL.
> >            05  FILLER                 REDEFINES GETTOD-ADDR.
> >                10  GETTOD-ADDR1       POINTER.
> >                10  GETTOD-ADDR2       POINTER.
> >
> >        PROCEDURE DIVISION.
> >
> >            SET GETTOD-ADDR1 TO ADDRESS OF WS-GETTOD-PROGRAM.
> >            CALL GETTOD-ADDR USING WS-TOD-VALUE.
> >            DISPLAY FUNCTION HEX-OF (WS-TOD-VALUE).
> >            GOBACK.
> >
> > Peter
> >
> > This message and any attachments are intended only for the use of the
> > addressee and may contain information that is privileged and confidential.
> > If the reader of the message is not the intended recipient or an authorized
> > representative of the intended recipient, you are hereby notified that any
> > dissemination of this communication is strictly prohibited. If you have
> > received this communication in error, please notify us immediately by
> > e-mail
> > and delete the message and any attachments from your system.
> >
> > ----------------------------------------------------------------------
> > For IBM-MAIN subscribe / signoff / archive access instructions,
> > send email to [email protected] with the message: INFO IBM-MAIN
> >
> > ----------------------------------------------------------------------
> > For IBM-MAIN subscribe / signoff / archive access instructions,
> > send email to [email protected] with the message: INFO IBM-MAIN
> >
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN



-- 
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to