From mboxrd@z Thu Jan 1 00:00:00 1970 From: mike.ab3ap@gmail.com (Mike Markowski) Date: Sun, 13 May 2018 17:44:27 -0400 Subject: [TUHS] The birth of the Z3 In-Reply-To: <20180513213042.0914C18C09C@mercury.lcs.mit.edu> References: <20180513213042.0914C18C09C@mercury.lcs.mit.edu> Message-ID: <86258450-6c66-1a5e-c18c-392f0fd4ec8f@gmail.com> On 05/13/2018 05:30 PM, Noel Chiappa wrote: > > From: Clem Cole > > > Their is a open question about the need to support self modifying code > > too. I personally don't think of that as important as the need for > > conditional instructions which I do think need to be there before you > > can really call it a computer. > > Here's one way to look at it: with conditional branching, one can always > write a program to _emulate_ a machine with self-modifying code (if that's > what floats your boat, computing-wise) - because that's exactly what older, > simple microcoded machines (which don't, of course, have self-modifying code > - their programs are in ROM) do. > > Noel Rewording that, as I recall from Computability Theory there are three statements needed for Turing completeness: 1. S <- 0 S is some var 2. S <- S + 1 3. if S=0 goto L L is some line# Beyond that everything else is icing on the cake. Kind of like needing nothing more than a bunch of NAND gates to build a computer, disregarding practicality... Mike Markowski