> I guess Dr. John Ehrman's idea doesn't work in complex bit-testing scenarios
> (given that you shouldn't have to "order" the tests from most '1'
> bits to least '1' bits).
If the technique you're referring to is the use of an equate's length field to
contain the representation of the bits being tested, then it has nothing to do
with the technique. You'd have the same problem if you were using
TM TXTREQU,REQU_DELETE
...
REQU_DELETE EQU C'D'
REQU_2EBCDIC EQU C'E'
The problem lies with the fact that you seem to be testing somewhat arbitrary
bit combinations and expecting that they don't overlap in certain ways. If the
individual bits have no inherent meaning except when viewed as a single byte
then you should use CLI instead. On the other hand, if, say, bit 0 has some
meaning for both the 'D' case and the 'E' case, and it's just a peculiar
coincidence that they appear to be EBCDIC characters, then only you can tell
what order the tests should be in.
> Well, code shouldn't fail just because tests on the same byte of storage
> change order.
Sometimes order matters, sometimes it doesn't. But if the code has a
dependency on the tests being made in a certain order then I would clearly
document that in the remarks for the TM/CLI instructions so that "the next
person" (even if it's you, n years from now) doesn't rearrange the code without
understanding the impact.
- mb
> -----Original Message-----
> From: IBM Mainframe Assembler List <[email protected]> On
> Behalf Of David Clark
> Sent: Monday, February 16, 2026 3:12 PM
> To: [email protected]
> Subject: [EXTERNAL] Re: [External Sender] Re: Apparent Test Under Mask
> Failure
>
> >> You need to order the TM tests with the most-bits-on flag value first...
>
> >> As Mark suggested, maybe you really want CLI instead of TM in this case?
>
> I guess Dr. John Ehrman's idea doesn't work in complex bit-testing scenarios
> (given that you shouldn't have to "order" the tests from most '1'
> bits to least '1' bits).
>
> Thanks,
> Dave Clark
>
>
> On Mon, Feb 16, 2026 at 3:03 PM Farley, Peter < 00000dc9d8785c29-dmarc-
> [email protected]> wrote:
>
> > You need to order the TM tests with the most-bits-on flag value first
> > followed by the next-highest-count-of-bits-on value, etc.
> >
> > As Mark suggested, maybe you really want CLI instead of TM in this case?
> >
> > Peter
> >
> > From: IBM Mainframe Assembler List <[email protected]>
> > On Behalf Of David Clark
> > Sent: Monday, February 16, 2026 2:46 PM
> > To: [email protected]
> > Subject: Apparent Test Under Mask Failure
> >
> >
> > Can someone please explain to me how the following fails to drop
> > through to
> >
> > the actual test for C5? The request at d'8000' is 'E' (x'C5',
> > b'11000101')
> >
> > but the code is taking the 'D' (x'C4', b'11000100') branch. Why?
> >
> >
> >
> > The condition code should result in mixed -- not ones. Am I going to
> > have
> >
> > to change from bit mask testing to 'CLI' testing?
> >
> >
> >
> > 000872 91C4 8000 00000 1842+