Assembly Language
graph LR
A[High-level Programming Language] -->|Translator 1| B(Assembly Language 1)
A -->|Translator 2| C(Assembly Language 2)
A -->|Translator 3| D(Assembly Language 3)
B --> E[Processor 1]
C --> F[Processor 2]
D --> G[Processor 3]
- Machine language: binary representation for computer system (hardware dependent)
- Assembly language: symbolic representation for human (hardware dependent)
- High level language: hardware independent (translate to assembly)
Purpose
- Additional Layer of abstraction
Advantage
- Speed
- Not require compiler
- Exploit some hardware feature
- Special requirements:
- Embedded system that needs custom control system
Drawback
- Machine-specific
- lengthy code → time consuming
- Harder to write
Instruction Set Architecture (ISA)
RISC (Reduced Instruction Set Architecture)
- A small set of simple instructions;
- build more complex functions based on this set;
- example: ARM, MIPS
CISC (Complex Instruction Set Architecture)