achut@qsi03.UUCP (Achut Reddy) (12/23/83)
You ain't kidding brother!!!! Here are a few more 68000 bogosities for you: How to double the value in a data register? Now, no one would even think of using: mulu #0,d0 since it's common knowledge that the fastest way to multiply by a power of 2 is by shifting: asl.l #1,d0 But the following is even faster: add.l d0,d0 (!) Also, how many machines do you know where the time to shift is a linear function of the shift count?? Did you know that bra <16-bit displacement> is slower than jmp a0@ and takes up twice as much space! WHY ISN'T THERE A 32-BIT MULTIPLY AND DIVIDE??? EVEN *MIX* HAS THEM! chk (check register against bounds) is a very nice instruction. It could ACTUALLY BE USED if the dummkopf just set condition codes instead of initiating exception processing! Anyway, that's enough exclamation marks for one day... -- Achut Reddy sdcrdcf!trw-unix!scgvaxd!qsi03!achut
guy@rlgvax.UUCP (Guy Harris) (12/31/83)
<Good USENET citizens should have installed the fix for the news-eater bug long ago> Also, how many machines do you know where the time to shift is a linear function of the shift count?? Rather a lot, really; the KA10 PDP-10 processor, for one. Back in the Dark Ages, before everybody had barrel shifters, the instruction time for a shift instruction was a linear function of the shift count on almost all machines. Guy Harris {seismo,ihnp4,allegra}!rlgvax!guy
mem@sii.UUCP (Mark Mallett) (01/04/84)
b Ayup there are a lot of holes in the 68000 instruction set, and a number of irritating features. But it DOES exist. A couple of things that I found aggravating about the 68000 are the processor manual and the Motorola universal (being written in Pascal...) assembler/linker. The manual: does not give an index of instructions by opcode. aarrgghh. Describes the addressing modes in its opening chapters using an obscure and idiotic notation (which seems to have been adopted by some assemblers...), then goes on to give its detailed examples and addressing mode tables in a completely different format; the one actually used by their assembler. Nothing really needs to be said about the assembler/linker. I had to use it- it was the only thing around for a while. I also looked at the sources; came away shaking head. Mark E. Mallett decvax!sii!mem