Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 Apollo; site apollo.UUCP Path: utzoo!linus!decvax!wivax!apollo!alan From: alan@apollo.UUCP (Alan Lehotsky) Newsgroups: net.flame Subject: Re: Godless 68000 instruction set - (nf) Message-ID: <199@apollo.UUCP> Date: Thu, 8-Dec-83 15:46:00 EST Article-I.D.: apollo.199 Posted: Thu Dec 8 15:46:00 1983 Date-Received: Sat, 10-Dec-83 02:39:08 EST References: <2546@hp-pcd.UUCP> Organization: Apollo Computer, Chelmsford, Mass. Lines: 51 Yeah, I agree completely about the abortion that MOTOROLA produced (aka the 68K). You should notice that you can also do: CMPA.W #0,An which only requires 4 bytes. Further, the fastest, cheapest way to clear an A register would be self-evident to an old time IBM-360 programmer, it's SUBA An,An 2 bytes, 8 u-cycles where-as MOVEA.W #0,An is 4 bytes and 16 u-cycles Having been responsible for writing the BLISS compilers at DEC, especially for the VAX-11, it is ALWAYS painful to discover what a sh**ty programming model the turkeys in Austin, Tx. have. [See what happens when you let hardware people design machines.... Just like that old joke about the pope... "you no playa the game, you no makka the rules. Since machines are programmed primarily by compiler-writers these days, they should be designed with the compilers in mind!] Just consider all the other brain-damage available... o No indirect thru memory. o The branch-displacements are specified in byte-deltas, not word deltas (like on the PDP-11), so branches have 1/2 their potential range available. The low bit is ALWAYS zero! o Instructions like LEA and PEA don't accept the full set of "memory" addresses. For example, something like PEA (A4)+ is illegal! o The BIT-test instructions are totally inept! Being restricted to testing one of 8 bits in a single byte is almost worthless I heard a rumor once that the 68k was originally a reasonable machine, but that the first implementation wouldn't fit onto the available real-estate, so they just kept pruning until it fit. p.s. The fact that CLR, ST and SF do read-modify-write memory cycles has been fixed in the 68010. Fat lot of good that does when there are thousands of 68000's which we need user-mode code to be compatible with!