Prof Knuth's MIX computer - Card Reader and illegal characters I'm reading through Knuth's "The Art of Computer Programming" volume 1 (3rd edition), with the goal of understanding the complete workings of his hypothetical MIX computer in order to implement MIX in software.  Needless to say this is a long term project!  (I'm not in college or anything, just an amateur CS enthusiast doing this for fun, I have no Professors to ask!)

In Section 1.3.1 (onwards) of "The Art of Computer Programming" Prof Knuth describes in detail his MIX computer and its IO devices such as Tape, Drum and Card Readers.  The main Text does not describe the "bootstrapping" process for this machine, but Exercice 26 does.

There is one particularly onerous limitation of the Card Reader described in Exercise 26 -- that is certain characters are not allowed to be written to or read from Cards.

To me this is an important point because if this "illegal characters" limitation does apply to the MIX proper, then I cannot see any easy way to write a MIX program by hand without constantly stumbling over illegal characters.  The CMPx operators are explicitly forbidden by Ex 26 for instance.

If I was to attempt to implement MIX myself in software I would find it very convenient to ignore this "illegal characters" limit and just indiscriminately accept all characters without error.  Although in my mind this gives me some doubt as to whether my implementation would be "compliant" with Prof Knuth's MIX spec.  Accepting "illegal" characters would also make creating a MIXAL assembler a lot easier.

Questions:


Am I to understand that concepts discussed in the Exercises are not formally part of the MIX specification?
It seems arbitrary to add such a tricky obstacle, is this rather severe limitation only supposed to be true within the scope of Exercise 26 or should it be understood that it applies to the formal specification of the MIX computer throughout the entire TAOCP book set?
I imagine the concepts developed in the Exercises are meant to be formally part of the MIX specification, but there will also be some degree of arbitrariness.

For example, the MIX character set of $56$ characters supports only upper case text, but also includes three Greek characters ($\Delta$, $\Sigma$, $\Pi$) and an arbitrary selection of punctuation characters (no '%', '?', '!' or '^'; '/' but no '\').

Similarly, the restriction on allowed characters in the card reader is probably just to make the point that not all input devices will support the full character set. Knuth may have regarded the typewriter terminal (which presumably does support the full character set) as the main input for program instructions, and may have seen the card reader as primarily for data input.

I think you can make your MIX implementation a completely faithful implementation or a looser interpretation of the original specification - it is your choice.