Introduction to x64 Assembly
software.intel.com
Introduction to x64 Assembly
1–10 of 78 posts
Re: Introduction to x64 Assembly
#2Re: Introduction to x64 Assembly
#3Re: Introduction to x64 Assembly
#4Intel keeps making up new names for their x86-64 architecture. Now 'x64' did they use that one before? Is IA-32e or EMT64 not better? Also if you want to find out quickly what they mean by 'x64', why is the article tagged with 'ia64' (which means Itanium).
Re: Introduction to x64 Assembly
#5Intel keeps making up new names for their x86-64 architecture. Now 'x64' did they use that one before? Is IA-32e or EMT64 not better? Also if you want to find out quickly what they mean by 'x64', why is the article tagged with 'ia64' (which means Itanium).
Re: Introduction to x64 Assembly
#6Intel keeps making up new names for their x86-64 architecture. Now 'x64' did they use that one before? Is IA-32e or EMT64 not better? Also if you want to find out quickly what they mean by 'x64', why is the article tagged with 'ia64' (which means Itanium).
- EM64T (EMT64 is a common typo) -> Intel's implementation of AMD64, intel traded SSE3 to AMD for AMD64.
- IA-32e -> Same as EM64T, Intel used this name for a bit, mostly during development.
- INTEL64 -> Intel renamed EM64T to be more in line with AMD64's naming.
- x86-64 -> Overarching instruction set, AMD64 and INTEL64 are implementations.
- x64 -> Shorthand for x86-64.
x86-64 / x86_64 / x64 are just names for the overarching ISA; AMD64 / INTEL64 are implementations.
The AMD64 and INTEL64 implementations aren't actually identical, there are a few differences between them which compilers generally deal with by producing binaries that can handle either implementation.
The x86-64 / x86_64 / x64 thing isn't Intel or AMD's fault, it came about because OS vendors used different terms for the arch. Linux for example added support when AMD64 was the only thing around and it wasn't clear what Intel was going to do, they were still pushing Itanium. So the linux kernel used AMD64 as the arch name. Later when Intel licensed AMD64 linux wasn't about to completely rename the arch (and thousands of packages as a result) so now in linux the AMD64 arch strangely supports both AMD64 and INTEL64 targets. On the other hand Apple used x86-64 and x86_64 in the OSX kernel and Sun / Oracle decided to use x64. Really the OS vendors created this mess in combination with awkward timing of support between AMD and Intel.
Re: Introduction to x64 Assembly
#7I'm sure it makes sense after you've read the accompanying paragraph a sufficient number of times (once didn't cut it, for me), but not so sure it helps in that understanding.
I guess it's a funny hint that the x86's architecture is complex, when a figure that's just trying to describe the register names is this complex. :)
Re: Introduction to x64 Assembly
#8PDF copies: http://www.intel.com/content/www/us/en/processors/architectu...
Re: Introduction to x64 Assembly
#9Re: Introduction to x64 Assembly
#10UPDATE: I just ran across JWAsm and haven't encountered any problems so far. http://sourceforge.net/projects/jwasm/