Load a value to register for WTO.



High Level Assembler(HLASM) for MVS & VM & VSE

Load a value to register for WTO.

Postby Mehdi shri » Mon Apr 03, 2017 5:48 pm

Dear friends
I want to see content of storage that has address (X'1AC15C68') or 1AC15C68.
I wrote the following code by its return 0C1 abend.
READSTOR START 0            
BEGIN    SAVE  (14,12)      
         BALR  12,0        
         USING *,12        
         ST    13,SAVE+4    
         LA    13,SAVE      
*# my code :
         L     7,X'1AC15C68'
         WTO   TEXT=(7)    
*#   end of  my code                       
         L     13,SAVE+4    
         RETURN (14,12),RC=0
         END READSTOR      

Can eny one help me?
Thanks.
Mehdi shri
 
Posts: 138
Joined: Sun Jan 16, 2011 6:30 pm
Has thanked: 57 times
Been thanked: 0 time

Re: Load a value to register for WTO.

Postby Robert Sample » Mon Apr 03, 2017 6:38 pm

Well your first problem is you didn't specify the data correctly. From the z/OS 2.1 Authorized Assembler Services Reference SET-WTO manual:
The message is assembled as a variable-length record. The parameters TEXT=(text addr) and TEXT=(text addr,line type) represent a 4-byte address of a message to be displayed that consists of a 2-byte message length followed by the message text. The 2-byte message length describes the length of the message text only. There are no boundary requirements.

Second, how do you know that address 1AC15C68 is part of your program? Where did that address come from?
Robert Sample
Global moderator
 
Posts: 3719
Joined: Sat Dec 19, 2009 8:32 pm
Location: Dubuque, Iowa, USA
Has thanked: 1 time
Been thanked: 279 times

Re: Load a value to register for WTO.

Postby Mehdi shri » Mon Apr 03, 2017 6:52 pm

Dear Robert I got it by CECI Collect statistics command.
Mehdi shri
 
Posts: 138
Joined: Sun Jan 16, 2011 6:30 pm
Has thanked: 57 times
Been thanked: 0 time

Re: Load a value to register for WTO.

Postby Robert Sample » Mon Apr 03, 2017 7:08 pm

Dear Robert I got it by CECI Collect statistics command.
Okay. You DO understand, I hope, that your batch assembler program runs in an entirely different address space and hence the CECI COLLECT STATS output address has ABSOLUTELY no relationship to your batch program's address? Depending upon which address spaces are active on your system, and their storage usage, address X'1AC15C68' in your batch program may -- or more likely may not -- have the same data that the CICS region placed in that location.

Why don't you go back to the beginning and explain what your problem is and how you're trying to solve it? Because I can tell you that attempting to reference memory locations outside the address space using them is a SURE way to have all sorts of problems and ABENDS.
Robert Sample
Global moderator
 
Posts: 3719
Joined: Sat Dec 19, 2009 8:32 pm
Location: Dubuque, Iowa, USA
Has thanked: 1 time
Been thanked: 279 times

Re: Load a value to register for WTO.

Postby Mehdi shri » Mon Apr 03, 2017 7:35 pm

Dear Robert
The sentence Depending upon which address spaces are active on your system, and their storage usage, address X'1AC15C68' in your batch program may -- or more likely may not -- have the same data that the CICS region placed in that location. was very meaningful for me.
Now How can I obtain this address content in 3270 terminal?
Is it possible to using any parameters such as user variable or etc via 3270 terminal to seeing these data?
May be CECI RETRieve or such that thing use full?
Thanks a lot.
Mehdi shri
 
Posts: 138
Joined: Sun Jan 16, 2011 6:30 pm
Has thanked: 57 times
Been thanked: 0 time

Re: Load a value to register for WTO.

Postby Robert Sample » Mon Apr 03, 2017 7:48 pm

From the CICS Customization Guide manual:
CICS supplies fifteen sample programs that show how you can use the EXEC CICS COLLECT STATISTICS, EXEC CICS EXTRACT STATISTICS, and EXEC CICS INQUIRE commands to produce a useful analysis of a CICS system. These are:

DFH0STAT
DFH0STDB
DFH0STEJ
DFH0STEP
DFH0STGN
DFH0STLK
DFH0STPR
DFH0STSA
DFH0STSY
DFH0STTP
DFH0STTS
DFH0STWB
DFH$STAS
DFH$STCN
DFH$STTB

The sample programs produce a report showing critical system parameters from the CICS dispatcher, together with loader statistics and an analysis of the CICS storage manager. DFH$STAS, DFH$STCN, and DFH$STTB are provided in assembler language; the other twelve programs are provided in COBOL.
You will want to do whatever you are doing in the CICS region -- working with data in another address space is challenging to say the least. Look at the programs IBM provides and see if any of them will do what you want BEFORE you think about writing your own.
Now How can I obtain this address content in 3270 terminal?
When you say "3270 terminal", do you mean TSO? If not, just what do you mean by "3270 terminal" -- CICS uses 3270 terminals, so you ran the CECI COLLECT STATS on a 3270 terminal. Hence, technically, you already have the address content on a 3270 terminal.

And you STILL have not said what you're trying to do.
Robert Sample
Global moderator
 
Posts: 3719
Joined: Sat Dec 19, 2009 8:32 pm
Location: Dubuque, Iowa, USA
Has thanked: 1 time
Been thanked: 279 times

Re: Load a value to register for WTO.

Postby Mehdi shri » Mon Apr 03, 2017 8:10 pm

Dear
As you said I was used these STATISTICS function and parameters and there are very useful for my job and my Enterprise.
Cause of reading the manual "CICS Data AREA", It was documented the control blocks of CICS for any resources. Such a subject Guided me to inspect of how can I Extract these data
In fact I want to find that How can I get more system's data or values for online monitoring purpose.

The question I had posed was just only for my further prying!!!:)
Mehdi shri
 
Posts: 138
Joined: Sun Jan 16, 2011 6:30 pm
Has thanked: 57 times
Been thanked: 0 time

Re: Load a value to register for WTO.

Postby Robert Sample » Mon Apr 03, 2017 8:22 pm

Such a subject Guided me to inspect of how can I Extract these data
As long as you do this within the CICS region, you can access control blocks (at least some of them). However, going from a batch address space to get to the control blocks will not be an easy task. Your best bet would be to review the various programs listed in my earlier post since one or more them should provide the data you want, and they're already written.

These users thanked the author Robert Sample for the post:
Mehdi shri (Mon Apr 03, 2017 8:30 pm)
Robert Sample
Global moderator
 
Posts: 3719
Joined: Sat Dec 19, 2009 8:32 pm
Location: Dubuque, Iowa, USA
Has thanked: 1 time
Been thanked: 279 times

Re: Load a value to register for WTO.

Postby steve-myers » Wed Apr 05, 2017 6:42 am

Mehdi shri wrote:Dear friends
I want to see content of storage that has address (X'1AC15C68') or 1AC15C68.
I wrote the following code by its return 0C1 abend.
READSTOR START 0            
BEGIN    SAVE  (14,12)      
         BALR  12,0        
         USING *,12        
         ST    13,SAVE+4    
         LA    13,SAVE      
*# my code :
         L     7,X'1AC15C68'
         WTO   TEXT=(7)    
*#   end of  my code                       
         L     13,SAVE+4    
         RETURN (14,12),RC=0
         END READSTOR      

Can eny one help me?
Thanks.
The reason the program got an S0C1 ABEND is the L instruction did not assemble. This ignores the issue about the validity of the address. The correct way to insert the value into register 7 is

L 7,=X'1AC15C68'

Then, presumably, the WTO macro will get an S0C4 ABEND.
steve-myers
Global moderator
 
Posts: 2105
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 243 times

Re: Load a value to register for WTO.

Postby steve-myers » Wed Apr 05, 2017 8:05 am

  Loc  Object Code    Addr1 Addr2  Stmt   Source Statement                
000000                00000 0009A     1 TESTLOAD CSECT                    
000000 90EC D00C            0000C     2          STM   14,12,12(13)      
000004 0DC0                           3          BASR  12,0              
                 R:C  00006           4          USING *,12              
000006 0000 0000            00000     5          L     7,X'1AC15C68'      
** ASMA028E Invalid displacement                                          
                                      6          WTO   TEXT=(7)          
00000A 0700                           8+         CNOP  0,4                
00000C 4510 C07A            00080     9+         BAL   1,IHB0001A        
000010 0008                          10+         DC    AL2(8)            
000012 0010                          11+         DC    B'0000000000010000'
000014 00000000                      12+         DC    AL4(0)            
000018 02                            13+         DC    AL1(2)            
000019 00                            14+         DC    B'00000000'        
00001A 00                            15+         DC    AL1(0)            

Now, of course, I never had any intention of running this program segment, but didn't you check your listing before you ran the code?

These users thanked the author steve-myers for the post:
Mehdi shri (Sat Apr 08, 2017 10:07 am)
steve-myers
Global moderator
 
Posts: 2105
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 243 times


Return to Assembler

 


  • Related topics
    Replies
    Views
    Last post