3 ms·
The separation between assembly language and instruction set architecture (ISA) isn't really as well defined as you present it. For example, if you attempt to e
by Locke1689 17y ago
The separation between assembly language and instruction set architecture (ISA) isn't really as well defined as you present it. For example, if you attempt to execute the VMLAUNCH instruction in GAS on anything but a very specific IA-32(e) architecture subset, it will not work. In this sense it is perfectly valid to refer to an "x86 assembly language." This language is highly dependent on the presented ISA, but the line of separation is not clear.
PS: My advice for learning the IA-32(e) ISA is to read the Intel Developers manuals. http://www.intel.com/products/processor/manuals/ http://www.intel.com/products/processor/manuals/
- stonemetal 17y agoSorry, I thought I was pretty clear. There is nothing I would consider an assembly language there are Instruction sets X86, power, arm, mips, etc. Then there are (textual) instruction layouts GAS, Intel etc. Pretty much one per assembler. So when people mention something being written in assembly language they almost always mean the instruction set, but being able to compile and run almost always means a second round of guess that syntax that has nothing to do with which ISA it came from. Calling it X86 assembly language is about like saying I wrote this in High Level Language and have that refer to pretty much any High level language in existence. It all runs on the same ISA so it must be the same language. Can't feed it all to the same compiler and have it work, so what that is just an implementation detail.
- Locke1689 17y agoOK, I see what you're saying now. That's fine and true, although I tend to use the words "IA-32 ISA" and "IA-32 assembly" interchangeably. Different perspectives on the same thing, I guess.