You could use TRT to test the last byte, after some tedious coding of the table. N.B. I mean using the table codes to identify +/0/-/invalid; not just the 0/non-0 typical use.
You could PACK the field, or just the last byte (which is just a nibble-swap), and CP to =P'0'. The cond. code tells you what you want to know. You could also use AP =P'0', which returns the same cond. code, but also normalizes the sign... but only in your test field, of course. Or, you could use IF TM,lastByte,B'11110000',O It's + F (or not signed, if you like that interpretation) ELSEIF TM,lastByte,B'00010000',O It's - B or D ELSE It's + A, C, or E ENDIF Note that this is a pure sign check, i.e. 0 is not special. The last is more instructions, but I'd guess that it would perform the best if that matters. sas On Fri, Feb 11, 2022 at 1:01 PM Dave Clark <[email protected]> wrote: > I know that x'F1' and x'C1' are positive and that x'D1' is > negative. But what if I find x'A1', x'B1', or x'E1' for overpunch values? > What is the shortest way (in terms of assembler instructions) to validate > these into just two classes -- positive and negative? > >
