Hello Pierre, 

I think that on line 

170100          la     r03,dsa_word                                            

You meant to use a L not a LA. 

Ciao, 

-------------------------------------------------- 
Raphael Dal Pos / z/OS Support
Generali Shared Services S.c.a.r.l.
GSS\CIN-MF (Central Infrastructure Mainframe)
11-17, Avenue François Mitterrand
93200 Saint Denis / France
Wilo W 03 B1 029C  
[email protected] +(33)1-58-38-59-67 
                  or mobile +(33)6.24.33.20.87 
-------------------------------------------------- 
"MVS: Guilty, until proven innocent !!" RDP 2009 



-----Message d'origine-----
De : IBM Mainframe Discussion List [mailto:[email protected]] De la part 
de Pierre Fichaud
Envoyé : mercredi 22 avril 2020 01:20
À : [email protected]
Objet : IARST64 problem

I've used IARV64 and IARCP64 extensively. This is my first time trying IARST64.
Forgive the staggering after the cut and paste.

dsa_word contains X'00008000'

                         .  169800          st    r00,dsa_word              
Save the size in bytes          .
                         .  169900          lgr   gr02,gr13                     
                    .
                         .  170000          sam64 ,                             
            .
                         .  170100          la     r03,dsa_word                 
                           .
                         .  170200          la     r13,dsa_save64               
                             .
                         .  170210          xgr   gr00,gr00                     
                            .
                         .  170300          sysstate amode64=yes                
                            .
                         .  170400          iarst64 request=get,                
                          / .
                         .  170500                size=(r03),                   
                          / .
                         .  170700                common=no,                    
                          / .
                         .  170800                owningtask=current,           
                          / .
                         .  170900                memlimit=no,                  
                          / .
                         .  171000                fprot=no,                     
                          / .
                         .  171100                type=pageable,                
                          / .
                         .  171200                callerkey=yes,                
                          / .
                         .  171300                failmode=rc,                  
                          / .
                         .  171400                regs=save,                    
                          / .
                         .  171500                retcode=dsa_rc,               
                          / .
                         .  171600                rsncode=dsa_rsn               
                            .
                         .  171700          sysstate amode64=no                 
                            .
                         .  171800          sam31 ,                             
                            .
                         .  171900          lgr    gr13,gr02                    
                             .
                         .  171901          exrl  0,* %%%%% 

       The registers at abend are :

                        TIME=13.22.41  SEQ=00300  CPU=0000  ASID=001E
   582               PSW AT TIME OF ERROR  070C1000   9AB2BB6C  ILC 6  INTC 03
   582                ACTIVE LOAD MODULE ADDRESS=1AB2A000  OFFSET=00001B6C
   582                NAME=program
   582                DATA AT PSW  1AB2BB66 - C6000000  0000E310 D3E80024
   582                AR/GR 0: 00000000/00000000_00008000   1: 
00000000/00000050_00301000
   582                      2: 00000000/00000000_1AC41000   3: 
00000000/00000000_1AC41118
   582                      4: 00000000/00000000_1ABE83A0   5: 
00000000/00000000_0C000000
   582                      6: 00000000/00000000_007CCFC8   7: 
00000000/00000000_00000000
   582                      8: 00000000/00000000_1ABCA028   9: 
00000000/00000000_1AA5A028
   582                      A: 00000000/00000000_1AA0F000   B: 
00000000/00000000_1AA535A8
   582                      C: 00000000/00000000_1AB2D930   D: 
00000000/00000000_1AC41000
   582                      E: 00000008/00000000_1AB2BB52   F: 
00000000/00000000_00000000 

      The call seemed to work.


      The system trace table shows :

        0000 001E 007BE3E8  SSRV  1000          1AB2BB52  00000000 0A000000 
03000000  IarST64  Get                D7CE162A5FCA25DA 0103
                                                                                
          00000050_00301000
                                                                                
          00000000_00008000
                                                                                
          00000000_00000000
  0000 001E 007BE3E8 *PGM    003 00000000_1AB2BB6C  00060003 00000050           
00000000 00000000 001E 001E D7CE162A5FCA2C10
                                                  07041000 80000000 00300400    
       00000000
  0000 001E 007BE3E8 *RCVY  PROG                    940C3000 00000003 00000000  
00000000 00000000 001E 001E D7CE162A5FCC0F96

       The address is 00000050_00301000 and the length is X'8000'.
       I don't know what the last double word represents.
       SSRV 1000 is not documented in the V2R4 Diagnosis: Tool and Service Aids.

        So I thought I was good to go.
        When I attempt to read X'8000' bytes into my buffer with BPX4RED() I 
get a return code of 118 indicating an incorrect address.

         When I try to browse the storage in IPCS, I get:

     _0301000.:50_00302FFF. LENGTH(X'2000')--All bytes contain X'00'
     _0303000.:FFFFFFFF_FFFFFFFF. LENGTH(X'FFFFFFAF_FFCFD000')--Storage not 
available
     *********************************************************** END OF DATA 

      So Unix checks the bounds of the I/O area before doing anything.
      When I try to get 64K, I also get  X'2000'.

      Anything more than X'2000' results in just X'2000' usable.

      If I get less than X'2000',  X'2000' is gotten.

      It seems that X'2000' or 8K is always gotten.

      It almost looks like this is a configuration issue.
      I looked but couldn't find anything. 

      Any help would be appreciated.
Thanks in advance, Pierre.

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