Does anyone know why the registers are in the order A C D B? If you read the opcodes this theme repeats itself consistently.
Posted on 2006-11-28 09:51:20 by Jeronimo0d0a
The intel architecture is an incoherent mess - that's why :)

Seriously, have a look at how extensions have been hacked on - 386 pmode has some awful structures, iirc the opcode map for some of the SSE extensions is pretty scattered, etc.
Posted on 2006-11-28 10:11:39 by f0dder
The first letter is an abbreviation and not a part of alphabetical order.
A - Accumulator, C - Count, D - Data, B - Base
A C D B is just the order in which those register are implemented within the silicon.

Posted on 2006-11-28 12:19:45 by arafel

The intel architecture is an incoherent mess - that's why :)

Seriously, have a look at how extensions have been hacked on - 386 pmode has some awful structures, iirc the opcode map for some of the SSE extensions is pretty scattered, etc.


Unfortunately, the architecture is a mess but as arafel pointed out in this case anyway it is not the reason for the non-alphabetical sequence. Intel is a slave unto itself, this was quite elegantly shown when the Athlon 64 came out and threatened to crush Intel because it extended the IA32 achitecture for yet another generation of processors. Intel, who were doing their level best to rid themselves of a schizophrenic processor family had no choice but to follow suit and effectively drop any plans to start fresh and clean it up. The reason is simple, Joe User is not going to buy new games, business software or anything else that dies as a result of a new architecture just because Intel and programmers think it's time for silicon spring cleaning. In the long view, Windows Blackcomb may solve this problem with a more architecture independant design philosophy but I doubt it, Microsoft has always promised diamonds and delivered charcoal, I guess we'll see in 2010 or whenever it is supposed to be released.

Donkey
Posted on 2006-11-28 22:04:38 by donkey

Joe User is not going to buy new games, business software or anything else that dies as a result of a new architecture just because Intel and programmers think it's time for silicon spring cleaning.

Simple: make a new architecture that's beefy enough to emulate x86... just about anything will be enough to run business apps, games are largely GPU bound, and major apps of the nasty kind would be ported over to the new architecture.

This wasn't what happened with Itanium - intel made the mistake of trying hardware x86 emulation which was a flop (later on software emulation for Itanium was actually faster than software emulation!), and took up way too much transistor space on the chip. Also, Itanium was marketed for big business, instead of "the next consumer chip", which was another cause for it to not be widely adopted.

So now we're stuck with x86 and x86-64, and probably for good. I mean, fair enough, it works et cetera, but I can't help wondering how much more efficient some 'fresh' architecture could be. One thing is the cruddy x86 instruction set, another thing is all the legacy junk related to PC hardware.
Posted on 2006-11-29 03:02:35 by f0dder
I just wanted to thank everyone who answered.  I thought this was the case but I was never sure. Happy holidays to you all.
Posted on 2006-11-29 08:19:48 by Jeronimo0d0a