Linked by Thom Holwerda on Fri 5th Apr 2013 16:04 UTC
General Development "For years, PC programmers used x86 assembly to write performance-critical code. However, 32-bit PCs are being replaced with 64-bit ones, and the underlying assembly code has changed. This white paper is an introduction to x64 assembly. No prior knowledge of x86 code is needed, although it makes the transition easier."
Permalink for comment 557789
To read all comments associated with this story, please click here.
Comment by Drumhellar
by Drumhellar on Fri 5th Apr 2013 18:53 UTC
Drumhellar
Member since:
2005-07-12

With each new processor adding a new generation extending the ISA for more capability (On it's own, a good thing), while never dropping support for older features (On it's own, a good thing), x86 is a horrible mess.

I mean apart from changing the names of registers as they went from 16- to 32- to 64-bit (Which is cool), between Intel and AMD there's x87, MMX, SSE, SSE2, SSE3, SSE4, AVX, 3D-Now! and 3D-Now!+ (unofficial name), XOP, FMA4, and CVT16, all for math. Some registers overlap between extensions and some don't.

Non-math instructions extensions PAE, AMD-V and AMD-Vi, Intel VT and Intel VT-d, VT-c, and EPT.

Note that this may not be an exhaustive list, though listing them was exhausting.

Also, poo on you, Intel, for using "x64". It's AMD64, and just because decided to do a dick move and purposely make your 64-bit extensions slightly incompatible in a few corner cases so you could call it something other than AMD64 doesn't mean you have a different 64-bit implementation. No. All it means is that you have a broken AMD64 implementation.

Reply Score: 6