Path: utzoo!utgpu!water!watmath!clyde!ima!think!whitney From: whitney@think.COM (David Whitney) Newsgroups: comp.sys.apple Subject: Re: If the GS meant business... Message-ID: <24361@think.UUCP> Date: 22 Jul 88 20:16:53 GMT References: <8807131148.aa01449@SMOKE.BRL.ARPA> <3214@crash.cts.com> <834@lakesys.UUCP> <3228@crash.cts.com> <6254@uwmcsd1.UUCP> Sender: usenet@think.UUCP Reply-To: whitney@godot.think.com.UUCP (David Whitney) Organization: Thinking Machines Corporation, Cambridge, MA Lines: 42 In article <6254@uwmcsd1.UUCP> neighbor@csd4.milw.wisc.edu (Jeffrey Alan Ding) writes: >In article <3228@crash.cts.com> maddie@crash.CTS.COM (Tom Schenck) writes: >>In article <834@lakesys.UUCP> marc@lakesys.UUCP (Marc Rassbach) writes: >>>Tom, >>> >>> What do you mean when you say "all code goes through an interperter?" >>>Do you mean the 'standard user interface' ie the 'toolbox' or the microcode on >>>the microprocessor? >> >> I mean that the 6800 family is not a microprocessor, but, in fact, a small > >6800? What computer uses the 6800 family? The Apple ][ series computers >All use the 6500 family of microprocessors. I don't know about the 6800 >series but the 6500 series has *NO* bullshi*t as to what your talking about. Well, the 68000 (and 68020 and if I guess right, the 8088 and derivatives) have real microprocessor instructions, and then something called 'traps'. Traps are undefined microprocessor instructions. It happens that the Mac sets up what is supposed to happen when specific traps occur. For example (this is hypothetical as I really don't know any trap #s), A8E0, an undefined 68000 opcode may very well start up Quickdraw. IBM machines have INT instructions, which basically do the same sort of thing. One does INT 28 to make the IBM do something interesting. Macsbug, and other Mac debuggers can have any and all toolbox calls stop the machine and pop up the debugger. This is easy, as all Macsbug has to do is replace the trap code that the 68000 would normally execute. So, in this sense, the 68000 and 8088 are kinda like interpreters - but only when it comes across an opcode which is undefined. I believe that the designer of the 65816 had this in mind when he wrote the COP instruction. One does COP # to make something interesting happen. Currently, there is no support for the instruction, but who knows what the future holds? This instruction will allow 256 more opcodes and quite possibly other neat stuff (like really invoking a co-processor). BRK also now takes one parameter - who knows how to use it? David Whitney, MIT '90 Still learning about my Apple //GS {out there}!harvard!think!whitney and all of its secrets. Any and all whitney@think.com technical info appreciated. DISCLAIMER: You think they even know I'm doing this?