My point, which I suspect that Shmuel understands very well, was that for z/Architecture such a value as, say,
|target DS X'00' speciifies a nominal single-byte value for the field target but is silent about its data type. It may be a single SBCS (ASCII or EBCDIC) character; it may be a signed binary integer s in the interval -128 <= s <= +127; it may be an unsigned binary integer u in the interval 0 <= u <= 255, it may be a set of eight contiguous single-bit modal switches (booleans), etc., etc. This is important in general, and was important for Scott's question, because the standard operations that can be performed on a value are different for different data types. One may concatenate an ASCII character; but one does not, usually, subtract its value from the current contents of a register. (To forestall Shmuel the qualification 'usually' in this statement must be emphasized. There are occasions---Hashing is the obvious example---on which data-type punning is appropriate: One may wish to treat a single character of a two-, four-, or eight-character subsequence of characters as a binary integer, add instances of them together, perhaps with FIXEDOVERFLOW disabled, and divide the result by a suitable small prime p to obtain a hash value H in the interval 0 <= H <= p - 1. Operations of this kind are not illegitimate; neither, however, are they the rule.) Hexadecimal can in prinbciple be a data type, as it is in IBM HFP; and, as others have pointed out, a machine that did native-mode hexadecimal arithmetic, even addressing, could be constructed. That hypothetical artefact would not, however, be a z/Architecture machine. John Gilmore, Ashland, MA 01721 - USA ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
