Dave, all, Not only was it good enough for Dr. John Ehrman - he liked it enough to spend a large presentation on the technique.
It inspired me to create macros that took it even further. They've become part of the macro library in CBT file 884. I disagree wholeheartedly with anyone who claims that the length attribute of a bit EQU should not be used to contain a copy of its value - or anything else for that matter. The assembler has always given us freedom of expression. We've used that power in many different ways. Let's celebrate its power, its flexibility, and its diversity; rather than start a never-ending argument about what should or should not be considered valid. If it assembles as intended, it's valid. Otherwise it's not. Kind regards, Abe === On 16/02/2026 22:51, David Clark wrote: >>> Following standard coding practices exist to help others. > It was good enough for Dr. John Ehrman of IBM fame, so it is good enough > for me. > > Thanks, > Dave Clark > > > On Mon, Feb 16, 2026 at 4:46 PM Jon Perryman <[email protected]> wrote: > >> On Mon, 16 Feb 2026 14:45:43 -0500, David Clark <[email protected]> >> wrote: >> >>> 000872 91C4 8000 00000 1842+ TM >>> REQU_DELETE,L'REQU_DELETE >>> 00000 000C4 308+REQU_DELETE EQU *-1,C'D' >> Following standard coding practices exist to help others. >> >> 1. EQU such as REQU_DELETE should never be a flag, a value and a field at >> the same time. It should only be one of these. >> >> 2. TM is a bit instruction (e.g. bit 0 & 3 x'10010000') but C'D' tells us >> you think you are dealing with a byte. Either use a byte instruction (e.g. >> CLI) or specify bits (e.g. x'10010000'). >> >> 3. Using L'xxx is not acceptable for this use of EQU. The EQU can be a >> field, flags or a byte value but should never be all of them. In this case, >> the meaning of L' is not a length. Instead, it's a flag or a byte value. In >> addition, L'xxx is not a length in this use case. >> >> 4. *-1 while technically correct is not helpful. If you insist on using >> this EQU, then change this reference the actual name instead of *-1. >>
