What was in the high half of the registers when it was in 64 bit mode?


On 1/12/2015 9:52 AM, Donald Likens wrote:
Can anyone explain why the following code did not work in AMODE 64 but works in 
AMODE 31?

I received an ABEND S602 R15=0 on the POST.

Abend: S602

Explanation: An error occurred during processing of a
POST macro instruction. The system issues this abend
only in association with cross memory post processing.
The hexadecimal return code in register 15 indicates the
nature of the error:
Code Explanation
00 The target address space control block (ASCB)
is incorrect.

Per the manual STIMER, WAIT, and POST support AMODE 64.

          STIMER REAL,STIMERX,DINTVL=WKWAITI
          XC   STIMECB,STIMECB
          OI   WAITLAST,X'80'
          WAIT 1,ECBLIST=WAITLIST

STIMERX  DS    0H
* TIMER EXPIRED
          DROP  R12
          USING *,R15
*C   POST STIMECB               In AMODE 31
          POST  STIMECB,X'40'   <== Abends on an S602 reason code 0
          DROP  R15
*C   RETURN
          BR    R14

WAITLIST DS    0F
ASMNSTOP DS    A
WAITLAST DC    A(STIMECB)
STIMECB  DS    F

When I added the following before the STIMER it worked:

SAM31
SYSSTATE AMODE64=NO

----------------------------------------------------------------------
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

Reply via email to