Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!ut-sally!im4u!oakhill!davet From: davet@oakhill.UUCP (Dave Trissel) Newsgroups: net.arch,net.micro.68k Subject: Re: 68k dbcc Message-ID: <682@oakhill.UUCP> Date: Sun, 13-Apr-86 04:10:38 EST Article-I.D.: oakhill.682 Posted: Sun Apr 13 04:10:38 1986 Date-Received: Sun, 20-Apr-86 05:13:57 EST References: <1511@decwrl.DEC.COM> <5100028@ccvaxa> Reply-To: davet@oakhill.UUCP (Dave Trissel) Organization: Motorola Inc. Austin, Tx Lines: 34 Xref: linus net.arch:2819 net.micro.68k:1537 In article <3479@sun.uucp> kevin@sun.uucp (Kevin Sheehan) writes: > > the loop mode works by using the instruction prefetch register to >hold the instruction. This means only instructions that are 16 bits TOTAL >can use loop mode - fortunately, that includes most of the useful ones. > > the only answers I ever got to "why dont the other 16 bit instructions >do it too" was something about not being able to do RMW write cycles, and >"internal path/ALU limitations", although the latter still seems like a glib >answer. Anybody at MOT have an answer? > Sorry I don't have access to the microcoder at this moment, but from what I remember there are indeed certain classes of instructions which require some kind of special setup in the control unit such that they could not be looped. On the other hand, there is a bit in the microcode for the rest which indicate whether loop mode is allowed. I once coded a benchmark and found to my suprize a two instruction sequence which didn't run in loop mode. It turns out that the microcoder 'thought' nobody would ever code such a loop :-(. This brings to mind another interesting story. I wrote a MC6809 debugger (ASSIST09) as my first 6809 code - and the very first instruction I coded was STX ,X++ which was supposed to store the address of a table at the first slot in the table itself. To my suprize what got stored was the address of table+2. I hit one of the designers up (Terry Ritter) and to my shock he said that they thought there was no reason for anybody to ever code such an instruction! And that was the first 6809 instruction I coded! The lesson here is don't ever say "Nobody will ever try X" with an instruction set. -- Dave Trissel {seismo,ihnp4}!ut-sally!im4u!oakhill!davet