On Tue, 19 Aug 2014 08:11:13 -0400 Peter Relson <[email protected]> wrote:
:>Rather than DC S(256-work-area-len) to see if work_area_len <= 256 we :>sometimes use: :> :>DC 0AL4(256-work_area_len+X'7FFFFFFF') Overflow if high :> :>As that covers a 31-bit value range. It also doesn't cost 2 bytes (though :>I expect that Binyamin really uses DC 0S(...) _/ Unless testing for strict equality 0S(A-B,B-a) I use S following the DSECT - it doesn't cost storage and shows how much space is left. :>I'm sure there are many variants of this. :>An interesting one if you are looking for "make sure that expected = :>actual" that takes advantage that to the assembler 0/0 = 0 is :>0AL4((expected-actual)/(expected-actual)+X'7FFFFFFF') Overflow if not :>equal :>What is surprising to me in this discussion is that I have seen no one :>mention that unless you have full control over the invocations, in all :>likelihood there will be cases that cannot be evaluated at macro time no :>matter what technique you choose; they have to be evaluated at run time. :>And in some cases it may be unimportant to assign something to a "macro :>variable" if you can use an expression (whether it be an S-Con or an A-Con :>to do an evaluation that is not possible at macro time). -- Binyamin Dissen <[email protected]> http://www.dissensoftware.com Director, Dissen Software, Bar & Grill - Israel Should you use the mailblocks package and expect a response from me, you should preauthorize the dissensoftware.com domain. I very rarely bother responding to challenge/response systems, especially those from irresponsible companies.
