abstract question about x86 isa

duby229

2[H]4U
Joined
May 1, 2005
Messages
3,014
I dont know enough about this to make a real informed question. So please bare with me.

Scali I think I can remember that you are a assembly coder? If so then you may be the person to help me. If not sorry for putting you on the spot. :)

Ok so my question is a bit abstract, and really doesnt mean a whole lot, it is more or less just a late night pondering that I got curious about.

I know that x86 is getting !OLD! and there are quite a few other ISA's that are much better suited for alot of tasks. Intel has been trying over the years to cover up this problem by releasing new extended instructions such as MMX, then later it was SSE, and its kin. I know that especially with FP code there really is no need to use the legacy FP code anymore becouse there are better extended instructions to do the same thing.

What about the other instructions? Is ALL of the old legacy instructions still required? If not, then wouldnt it be possible to just throw the old hardware away? (ignoring compatibility of course) If not then when do you guys think it will become both economically and technically possible to do away with the legacy instruction? If ever?

I know some of you will say go home newb, but I was just wondering in a late night pondering last night.
 
duby, any specific legacy instruction? or are you talking about 16-bit legacy instructions and registers?
 
The register only matter to the compiler right? Other than that the instructions should be the same despite the size of the registers being differant?

If I'm wrong please help me learn. If you know any good newb freindly reading material, thta would be great.

Thanks for trying to help.
 
The register only matter to the compiler right? Other than that the instructions should be the same despite the size of the registers being differant?


the register set are hardware implemented. for example: register EAX
eax is a 32bit register
ax is the 16bit register
ax is composed of al (lower byte) and ah (higher byte)

instructions are somewhat the same but the opcodes varies depending on the operating mode (16bit, 32bit, paging mode, etc).
sample:
mov eax, 20h >> this opcode for this instruction will not be the same
on 16bit (DOS) and 32bit mode. There will be a prefix
on the opcodes.
 
Ok I think I can see what you saying.

The instructions are the same but becouse they work with differant size data they will get differant results so they are not compatible?

So what About the 16 bit Hardware? will my question above apply to that?
 
Kewl...

Thanks. I'll be vegging in my chair studying for a little while.

While I dont want to become an expert, I'd certainly like to understand this stuff better, so thanks for pointing me in the right direction.
 
drop me a note if you encountered difficulty on some of the x86 architecture topic.
I'm no hard core expert but my line of work deals with debug on instruction level.
 
Back
Top