On 8/3/21 11:58 AM, Paul Koning wrote:
Mostly true; some machines had the "compare-move
unit" which would do what it says -- move or compare string of 6-bit
characters". But nothing fancier.
I think the CMU arrived with the CYBER 7x line--I don't recall seeing a
6400 with one. Of course, you couldn't get it on the Cyber 74 or 76.
The CMU appropriated the no-op opcode (46xxx), which was likely safe
because it always assembled by COMPASS as 46000. Before the CYBER 170,
you could devise a test for a CMU by coding a CMU move in the first two
parcels of a word, followed by a jump in the lower 30 bits (I'm glossing
over details a bit). If the CMU existed, the jump wouldn't be taken.
This got bollixed up in the 170 where anything but a 46000 on the
non-CMU systems would cause an illegal instruction fault. Broke some
code, it did.
NOS used it in the CMTR storage move routine, if available.
One of my favorite 6000 bits of code was the register save and restore
routines (not using CEJ). It was a favorite interview question for
those job seekers claiming to be proficient in COMPASS.
--Chuck