An AX value of zero will check whether the current DU has access.

But I would question why the application level code is checking the AR. 

How did it get it? 

What does the AR being invalid mean to the program, i.e., what corrective
action will be taken?

If it is a PASN qualified ALET, the TAR results are only true now, but may be
different at the next instruction.

Why not simply get the 0C4 type failure if the ALET is bad?

On Tue, 14 Jan 2025 01:38:34 -0600 John Dravnieks
<[email protected]> wrote:

:>Hello
:>
:>I have come across some usage of the Test Access instruction (TAR) in a 
problem state program - given that TAR is documented in Chapter 10 of Pop 
(usually the supervisor state instructions generally only of use to the 
operating system) I am concerned that TAR is being used incorrectly 
:>
:>The code correctly loads an access register into AR7  and then has this:
:>            TAR   R7,R0             Valid access register? 
:>             JP     AOK                Yes
:>
:>The second operand R0 refers to general register 0, which has a positive  
value of 32768 or less - so bits 32-47 of gpr0 will be zero so the effective 
EAX used by TAR will be zero.
:>
:>My question is is this a valid way to test the validity of an access 
register?   And should it also be checking for a condition code of 1 as well ?
:>
:>Kind regards
:>John Dravnieks,  21CS Software 
:>(posted here at suggestion of Binyamin Dissen)
:>
:>----------------------------------------------------------------------
:>For IBM-MAIN subscribe / signoff / archive access instructions,
:>send email to [email protected] with the message: INFO IBM-MAIN

--
Binyamin Dissen <[email protected]>
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to