On 09/29/2014 06:31 PM, Richard wrote:
In article <54282EE7.6010607 at sydex.com>,
Chuck Guzis <cclist at sydex.com> writes:
On 09/28/2014 07:02 AM, Paul Koning wrote:
I don't think you could implement C for a 1620. At least the 6000 was a
binary machine and even had a fixed word length. The 1620 has neither
boolean operations, nor shifts. AFAIK, that's not optional in C.
If the 1620 is turing complete, that means that those operations can
be implemented, although it sounds like you'd have to implement them
in a very roundabout manner similar to the way floating-point
operations were emulated on CPUs with only integer math.
Hence, my quip about emulation and burying the issue under the "bushel"
of Turing completeness. However, I'd argue that the 1620 isn't
particularly Turing-complete if you employ the entire symbol set that it
hosts--it is incapable of distinguishing between certain symbols and
cannot even test or recognize another input symbol.
Worse, some symbols cannot be written as output, only read as input.
By restricting the symbol set of the 1620, you could simulate a
Turing-complete machine. For example, one option on the Model 2 1620
was the "octal" feature, which means that digits between 0-7 could have
boolean operations performed and even be taken as part of an octal
string and converted to decimal and vice-versa.
Implementing a C in such a manner might not give you access to the
essential feature set of the 1620, however.
--Chuck