There are some red threads, patterns in the additions that have
been/are being made to the z/Architecture instruction set.
Text in most modern European languages, and notably in English, is
ordinarily read and processed in left-to-right sequence. Other languages,
among modern ones notably Arabic, Hebrew, and Farsi, process and read
text in right-to-left sequence. Still other languages, chiefly
oriental ones, are more relaxed. Text may be arranged in
top-to-bottom, bottom-to-top (more rarely), or even one of the eight
variants of boustrophedon.
An interesting subset of these new instructions occur in pair with
older ones. We have
o TRT, TRTR
o ST, STRV
o MVC, MCVIN
in which the traditional instruction operates from left to right, low
to high storage address, and the new one operates from right to left.
Confronted with a right-to-left processing requirement, one should now
look for an instruction that will facilitate it, make methods that
would be usable to meet the analogous left-to-right one usable for it
too.
Another reason for familiarizing oneself with the new instructions is
that they may alert one to their serendipitous uses. We have been
talking about eliminating rightmost blanks using TRTR. Other examples
abound. CKSM typically computes a message-text checksum, but it also
caslculates the sum required for hashing varying-length character
strings using von Neumann's division-method hashing scheme. (It does
not do the division by a suitable small prime to obtain a hash value
proper, but that is the easy part.)
I encourage my students to browse in what I call the PrOp and to do
some experimental coding using the new instructions they find in it.
It is not a time-wasting activity!