View previous topic :: View next topic
|
Author |
Message |
schippsid
New User
Joined: 04 May 2020 Posts: 7 Location: USA
|
|
|
|
I have written a program in assembler language that uses the LOCASCB macro to find various different ASCBs that are running in my system. In debugging this program I found a very curious thing that I do not understand. When looking at the ASCBASXB field of every one of these different ASCBs they all point to the same ASXB?!!! This is very puzzling to me as the ASXB has things in it that you would think would be unique to each different ASCB. For example the ASXBFTCB and ASXBLTCB which point to the TCBs that are running in the address space. Well, two different address spaces can't have the same TCBs running in them, can they? So this really doesn't make any sense to me and I would love if one of you experts out there could explain it to me. |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
Are they really the same ASXB? I think you'll find it in the address space rather than in shared storage, so even if it's a common address each one is different because they are unique to the address space. Check that out. |
|
Back to top |
|
|
schippsid
New User
Joined: 04 May 2020 Posts: 7 Location: USA
|
|
|
|
That makes some sense, I am going to try some simple cross memory stuff with MVCPs to actually move the ASXB from the other address space to mine and examine it then and see if it is actually the same. Thanks for the suggestion and I will let all of you know what I find out. |
|
Back to top |
|
|
schippsid
New User
Joined: 04 May 2020 Posts: 7 Location: USA
|
|
|
|
You were right steve! Using MVCP I obtained the ASXB from the other address spaces and determined that they were all different. TYVM. |
|
Back to top |
|
|
Ravi GA
New User
Joined: 20 Mar 2020 Posts: 12 Location: India
|
|
|
|
schippsid wrote: |
You were right steve! Using MVCP I obtained the ASXB from the other address spaces and determined that they were all different. TYVM. |
ASXB resides in sub-pool 255 which is in private area. So, you must use some cross memory services (like MVCP which you have used) in order to access ASXB. You probably used SSAR instruction, to load secondary address space, before using MVCP? You might also want to try various other cross memory techniques like
1. Use SAC 512 (access register mode) after SSAR, and use "ALET 0" to access primary address space storage, and "ALET 1" to access secondary address space.
2. Use SAC 256 (secondary space mode) after SSAR to access JUST secondary address space storage area.
3. Schedule an SRB in the target address space to access ASXB and other private storage.
If you want to access ALL address spaces in the system, you might want to start with ASVT (Address space vector table) whose address will be in CVT. |
|
Back to top |
|
|
|