As stated earlier MVC does work! I am not sure why it abended the first time I 
tried it. I retested because it just did not make since to me that it did not 
work... So what if the base register is real big.

I've learned some more interesting (to me) information:

•       RC=00000008-00040300 indicates memlimit reached (could not find this 
documented).
•       Undocumented that you need to be in supervisor state to code MEMLIMIT 
on the IARST64 macro (but it makes since to me)
.               The "NILH  req,X'7F'" is very useful when switching from 31 bit 
mode.
.                The SAM24, SAM31, and SAM64 (switch mode) instructions are 
very useful.
.               The STORAGE macro worked (for XA storage). I was not sure it 
would.


The following was extracted from a working program:

Program start:

TEST64   CSECT                    
TEST64   AMODE 64                 
TEST64   RMODE 24  
...  
         STMG  R14,R12,8(R13)            SAVE REGISTERS           
         BALR  R12,0                                              
         USING *,R12                                              
                                             
 *C SETUP SAVEAREA CHAIN           
         LA    R1,SAVEREGS        
         STG   R13,128(,1)        
         STG   R1,136(,13)        
         MVC   4(4,R1),=C'F4SA'   
         LGR   R13,R1             
            
I was in SAM31 mode when the following was executed but I think it will work in 
SAM64 mode as well.

*C Return to OS

         LG    R13,128(,13)   
         LG    14,8(0,13)     
         LMG   0,12,24(13)    
         BR    14             

I hope this helps others attempting to code AMODE 64 programs.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to