Is assembly specific to the chip architecture (same assembly language for all ARM chips) or is it specific to a specific chip (Intel i5, for example)?
Asked
Active
Viewed 697 times
0
-
4Does this answer your question? [Are instruction set and assembly language the same thing?](https://stackoverflow.com/questions/5382130/are-instruction-set-and-assembly-language-the-same-thing) – Andreas is moving to Codidact Jul 04 '20 at 13:03
-
1The assembly language is specific to the architecture, but specific chips might implement instruction set extensions other chips do not support. – fuz Jul 04 '20 at 13:18
-
Assembly language is defined by the assembler, the tool not the architecture. The tool author(s) are free to make up whatever language they want, granted the tool isnt much use if it cant generate instructions. We definitely do not see the same assembly language for arm, for mips, for x86, etc from big named tools. And no reason to expect – old_timer Jul 05 '20 at 02:47
-
The machine code has to match the architecture, but no reason that the assembly language has to match anything. – old_timer Jul 05 '20 at 02:47
1 Answers
3
The chips differ in terms of Instruction Sets, which are just instructions the processor can execute and understand. The code using instruction from a particular set can be executed on all chips implementing that Instruction Set.
There are many common Instructions Set Architectures, examples are:
- x86
- ARM
- MIPS
- AVR8
- RISC-V
Assembly is a programming language that is almost directly translatable to the Instruction Set. It then gets passed to an assembler, which creates object code and finally machine code, which can be executed directly on the chip. Machine code is a series of instructions from Instruction Set, which are executed by the CPU.
The difference between Instruction Set and Assembly is well explained here.

Maksymilian Mika
- 144
- 4
-
Most Intel processors still speak x86, but these days they mostly run AMD64 code (which is the 64bit mode for Intel/AMD processors). x86 is purely 32 bit. – Joachim Sauer Jul 04 '20 at 12:58
-
-
@Serket Yes; Intel failed at developing a good successor to their 32-bit architecture. AMD succeeded. – Andreas is moving to Codidact Jul 04 '20 at 13:01
-
3Note that there are many more widely used architectures than just x86 and ARM. There are MIPS, AVR8, AVR32, PIC, 8085, POWER, and RISC-V just to name some examples. – fuz Jul 04 '20 at 13:18
-
-
1@JoachimSauer: In computer-architecture discussions, "x86" is usually a generic term that includes all x86-compatible CPUs, including modern x86-64. Microsoft likes to use "x86" to specifically mean 32-bit mode (IA-32), as opposed to what they call "x64" (x86-64, aka AMD64, aka IA-32e by Intel). To be fair, 32-bit and 64-bit x86 machine code are *not* fully compatible; you could even call them different ISAs, just like with AArch32 vs. AArch64, although there are no x86-64 CPUs that don't support legacy mode. – Peter Cordes Jul 05 '20 at 02:22