On 2014-08-19, at 06:11, Peter Relson 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've been told that DS 0AL4(...) forces fullword alignment, which may sometimes be undesirable.
> I expect that Binyamin really uses DC 0S(...) _/ > And since the validity of S(...) depends on the USINGs in effect, its use is problematic, at least in a library macro. > ... to the assembler 0/0 = 0 > Useful though that is, I find it repugnant. I'd prefer a BiF (not restricted to macro time) for range checking. But I suppose that the feature dates from a time when storage to implement a BiF was prohibitively dear. -- gil
