Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site peora.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxt!houxm!hjuxa!petsd!peora!jer From: jer@peora.UUCP (J. Eric Roskos) Newsgroups: net.arch Subject: Re: Addressing modes Message-ID: <2002@peora.UUCP> Date: Thu, 6-Mar-86 08:22:34 EST Article-I.D.: peora.2002 Posted: Thu Mar 6 08:22:34 1986 Date-Received: Sat, 8-Mar-86 03:19:28 EST References: <946@garfield.UUCP> <1417@sdcsvax.UUCP> <6777@boring.UUCP> <1989@peora.UUCP> <27@gilbbs.UUCP> Organization: Concurrent Computer Corporation, Orlando, Fl Lines: 56 > A minor point, perhaps, but in fact there is no microprocessor on the > market that "directly executes BASIC." I wondered if anybody would question my statement. Actually, I maintain that the particular microprocessor I'm thinking of (I forget the part number; it is some Zilog single-chip microcomputer which Steve Ciarcia writes a lot of his projects for) does indeed directly execute BASIC. It is true that there is a BASIC interpreter in ROM, but when you start up the computer, it executes this interpreter. This is no different from a more familiar microprogrammed computer, e.g. an IBM 370. Most (if not all) 370s execute an interpreter which interprets the 370 instruction set; they don't execute it directly in hardware. Of course, the Zilog machine has another instruction set in which the BASIC interpreter is written. So there's another level of interpretation involved. But that's also true of some other microprogrammed machines. It might be, in fact, that the microprogram for that instruction set is implemented in a PLA, as a finite state machine, so you get into this area of fine distinctions if you try to draw the line in terms of what the "language" looks like in which it's programmed, i.e., when is it "hardware" vs. "firmware" or "software". Now, you could argue that the Zilog machine "actually" executes the simpler instruction set, because you can jump into it from BASIC and have machine-language programs. I.e., there's a way to get to the lower-level machine-language, so that must be the "real" language of the machine. But the machine I'm writing this on executes an instruction set on which you can execute an "ECS" instruction and jump into a user-written *microcode* routine. I doubt many people would want to think of the microcode as the "real" language of this machine, though (though of course you could argue that it is, just as you could argue that the PLAs in the microprocessor provide the "real" language for that machine, since that's what the hardware executes). So I will have to stand by my position that the language directly executed by a machine is the language the machine presents to its user when it is first started, the language it interprets when it first goes out to its primary memory to begin executing a program. (Note that this is meant as an informal sort of definition, so if you have another definition of "directly executed" -- which may well be the case -- then you might disagree on my choice of definition. I.e., I'm not using someone else's definition of the term and trying to apply it to this particular machine. I'm just explaining the concept I meant in my original posting. Also, it *is* obviously just an informal definition, since you could argue different ways about a machine that supports multiple instruction sets, as well as a few other things I won't mention since they're minor points.) -- UUCP: Ofc: jer@peora.UUCP Home: jer@jerpc.CCUR.UUCP CCUR DNS: peora, pesnta US Mail: MS 795; CONCURRENT Computer Corp. SDC; (A Perkin-Elmer Company) 2486 Sand Lake Road, Orlando, FL 32809-7642 LOTD(5)=O ---------------------- Amusing error message explaining reason for some returned mail recently: > 554 xxxxxx.xxxxxx.ATT.UUCP!xxx... Unknown domain address: Not a typewriter (The above message is true... only the names have been changed...)