On Thu, 17 Mar 2011 06:52:38 -0700, Charles Mills wrote:
>Problem as stated included AMODE=31 and reentrancy.
It is reentrant, I believe. For the AMODE=31 and RMODE=31, add
HELLO RMODE 31
That by itself will give an binder warning as coded, but it can be ignored,
or the warning can be eliminated by changing
OLIST_M OPEN (DCB_M,OUTPUT),MF=L
to
OLIST_M OPEN (,OUTPUT),MF=L
complete program now:
HELLO CSECT ,
HELLO RMODE 31
STM 14,12,12(13) SAVE CALLER'S REGISTERS
LR 11,15 SET OUR BASE REGISTER
USING HELLO,11
GETMAIN RU,LV=WORKLEN,LOC=24
ST 13,4(,1) BACK CHAIN
ST 1,8(,13) FORWARD CHAIN
LR 13,1 LOAD MY SAVE AREA ADDRESS
USING WORKAREA,13
MVC OPENLIST(MESSAGE-OLIST_M),OLIST_M
OPEN (SYSPRINT,OUTPUT),MF=(E,OPENLIST)
PUT SYSPRINT,MESSAGE
CLOSE MF=(E,OPENLIST)
LR 1,13 COPY MY SAVE AREA ADDRESS
L 13,4(,13) POINT TO CALLER'S SAVE AREA
FREEMAIN RU,A=(1),LV=WORKLEN
LM 14,12,12(13) RESTORE CALLER'S REGISTERS
SLR 15,15
BR 14 RETURN TO CALLER
OLIST_M OPEN (,OUTPUT),MF=L
DCB_M DCB DSORG=PS,MACRF=PM,DDNAME=SYSPRINT,RECFM=FB,LRECL=80
MESSAGE DC CL80'STUPID "HELLO WORLD" MESSAGE'
WORKAREA DSECT ,
DS 18F SAVE AREA
OPENLIST OPEN (SYSPRINT,OUTPUT),MF=L
SYSPRINT DCB DSORG=PS,MACRF=PM,DDNAME=SYSPRINT,RECFM=FB,LRECL=80
WORKLEN EQU *-WORKAREA
END HELLO
It really isn't so difficult.
--
Tom Marchant
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html