LIST REGS RB#1LIST RWREGS RB#1Ditto for the registers. I hope this helps you to understand the concept of "current task" and how to get away from it.
To show the dataspaces belonging to a particular aspace, use the LIST DSPACES aspaceref command. Example:
TCB#7 RB#1 ------------------------------------------------- z/XDC TPUT IN
Z21 ===> l dspace jes2
DATASPACES OWNED BY ADDRESS SPACE JES2 (ASID=001F)
ASTE# NAME STOKEN TYPE SCOPE ACCESS #'ATEs
1 00000IEF 80006000_000000C3 DATASPACE SINGLE PRIVATE 0
For more information, see HELP COMMANDS LIST DSPACE.
To show the access lists for either an aspace (i.e. that are queued from the PASN-AL)...
TCB#7 RB#1 ------------------------------------------------- z/XDC TPUT INTERFACE -------------------------
Z21 ===> l accesslist jes2
PASN-AL FOR ASPACE JES2 (001F) OWNER OWNER
SEQ# ALET NAME TYPE NAME ASID SCOPE I FO PVT EAX STOKEN
1 01000002 DSPACE 0000
2 01000003 DSPACE X 0002
3 01FF0004 SYSCOMDS DSPACE *MASTER* 0001 COMMON 0001 80000100_00000001
4 01FF0005 IXLCBCAD DSPACE XCFAS 0006 COMMON 0001 80001000_00000010
5 01FF0006 IXLCTCAD DSPACE XCFAS 0006 COMMON 0001 80001100_00000011
6 01FF0007 CNZSCLOT DSPACE CONSOLE 000A COMMON 0001 80002B00_0000002D
7 01FF0008 CNZSCMDB DSPACE CONSOLE 000A COMMON 0001 80002C00_0000002E
8 01FF0009 IEAM000A DSPACE CONSOLE 000A COMMON 0001 80003700_00000039
9 01FF000A IEECMCAD DSPACE *MASTER* 0001 COMMON 0001 80000102_00000001
10 01FF000B SYSZBPX1 DSPACE OMVS 0010 COMMON 0001 80003900_0000003B
11 01FF000C SYSZBPXX DSPACE OMVS 0010 COMMON 0001 80003A00_0000003C
12 01FF000D CUNDS001 DSPACE *MASTER* 0001 COMMON 0001 80003C00_0000003E
13 01FF000E IRR00001 DSPACE *MASTER* 0001 COMMON 0001 80000301_00000004
14 01FF000F SYSANTMN DSPACE ANTMAIN 000C COMMON 0001 80000402_00000008
15 01FF0010 SYSDMO DSPACE DEVMAN 000E COMMON 0001 80000502_00000009
16 01FF0011 SYSAOM DSPACE DEVMAN 000E COMMON 0001 80000702_0000000D
17 01FF0012 CEACADS DSPACE CEA 001A COMMON 0001 80001901_0000001A
18 01FF0013 BPXDX001 DSPACE OMVS 0010 COMMON 0001 80003E00_00000061
19 01FF0014 SYSANT00 DSPACE ANTAS000 000D COMMON 0001 80000902_00000016
20 01FF0015 JES2NIT DSPACE JES2AUX 0027 COMMON 0001 80005500_0000008B
To show the access lists for a particular task within an aspace (i.e. that are queued from the task's DU-AL)...
- LIST TASK JES2 [I need this command because I'm gonna need the TCB#nnn equates]
- LIST ACCESSLIST TCB#3
Example:
TCB#7 RB#1 ------------------------------------------------- z/XDC TPUT INTERFACE --------------------------
Z21 ===> l accesslist tcb#7
DU-AL FOR TCB#7 OWNER OWNER
SEQ# ALET NAME TYPE NAME ASID SCOPE I FO PVT EAX STOKEN
_ 1 00000002 JES2 ASPACE (001F) FFFF
2 00010003 00000IEF DSPACE JES2 001F SINGLE 0001 80006000_000000C3
3 00050004 ALLOCAS ASPACE (0015) X 0001
Most times, the spaces are not accessible to z/XDC. When they are, two things happen:
- 1) A shortcut entry field appears at the left. This allows you to display the space's storage (F or D etc) starting at location 00000000.
- 2) For dataspaces, an equate is generated whose name is #dspacename. For example, if in the above example the dataspace named 00000IEF had been accessible, then an equate named #00000IEF would have been created.
When a dspace is accessible, you can display its storage in many ways. One is via the equate. Example: FORMAT #00000IEF+34C7EB displays location 004fC7EB within dataspace #00000IEF.
When a dataspace is not accessible you can try using the SET ACCESSTO DATASPACE STOKEN=xxxxx command to make it accessible. This command attempts to add the dataspace you the current task's DU-AL, and it creates an ALET that you can use for referencing its storage. (See HELP COMMANDS SET ACCESSTO).
This does not always work, but when it does, it's real helpful. When it doesn't, it will tell you exactly why it didn't. Example:
TCB#7 RB#1 ------------------------------------------------- z/XDC TPUT INTERFACE ----
Z21 ===> set accessto dataspace stoken=80000E01_0000000F
_ ACCESS HAS BEEN ESTABLISHED TO THE DATASPACE NAMED IRR0000C - THE ALET IS 00CF0005
Both the LIST DSPACE and LIST ACCESSLISTS commands display STOKEN values.
The LIST ACCESSLISTS command also displays ALETs.
The SET ACCESSTO command also creates an equate (#dspacename) that you can use for referencing the space's starting address.
Once you have an ALET, you can use that with several z/XDC commands (FORMAT, DISPLAY, ZAP, USING, EQU, etc) to display, change and format storage within the dataspace.
Also, when you you either the EQUATE command or the USING command to assign labels and maps into the dataspace, the space's ALET is assigned to the label or map. Thereafter, you can use the label or map fields to reference dataspace storage without having to provide the ALET again.
Examples: The above set accessto dataspace stoken=80000E01_0000000F command did two things:
- It created an ALET (00CF0005) for referencing the dataspace.
- It created an equate named #IRR0000C for referencing the start of the dataspace.
So you can reference location 000019E0 in any of the following ways:
FORMAT #IRR0000C+19E0
FORMAT 19E0~ALET(00CF0005)
EQUATE LOOKHERE #IRR0000C+19E0
[or] EQUATE LOOKHERE 19E0~ALET(00CF0005)
FORMAT LOOKHERE
DMAP MYMAPS.MYCBLOCK
USING MYCBLOCKS LOOKHERE
FORMAT .MYCBFIELD
ZAP AR0=00CF0005
ZAP R0,19E0
[or] ZAP R0,LOOKHERE
FORMAT AR0?
etc.
I hope this helps.
Dave Cole