Overview
Assembly is a base abstraction over machine code. It is meant to be a more readable representation of machine code. Assembly is not one language but rather refers to the specific layer of abstraction over machine code.
Instruction Set Architecture (ISA)
Assembly code syntax differs between different machine architectures. This 'syntax' can be referred to as the Instruction Set Architecture or ISA. The ISA specifies how memory is organized, what registers are available and how they are commonly used, and the available instructions that the machine can utilize. Common ISAs include x86, ARM, RISC-V, and MIPS.
Microarchitectures describe how smaller pieces of the computer are put together. Microarchitectures target ISAs to keep compatibility.
This is how companies like AMD and Intel work independently of each other and have processors that run the same compiled programs. If you're familiar with different generations of CPU's like "coffee lake" or "sky lake" for Intel. Similarly "Zen 2" or "Zen 3" for AMD.
Reference
- Hoque, Tamzidul Lecture 2 The University of Kansas, 2024