x86-64 架构
本课属于 Coddy Assembly 学习旅程的“基础知识”单元。第 6 课,共 45 课。
架构是 CPU 的设计。不同的 CPU 有不同的架构,就像不同的汽车有不同的发动机设计一样。
在这门课程中,你正在学习 x86-64,这是大多数台式电脑、笔记本电脑和服务器使用的架构。
为什么叫 x86-64?
| 部分 | 含义 |
|---|---|
| x86 | 系列名称(源自 Intel 8086、80286、80386、80486……) |
| 64 | 寄存器大小(64 位) |
同一事物的其他名称:
- x86-64
- x64
- AMD64
- Intel 64
这些名称指的都是你正在学习的同一种架构。
64 位是什么意思?
- 每个寄存器可以存储 64 位数据
- CPU 一次可以处理 64 位数据
- 内存地址的宽度为 64 位
不同的架构使用不同的寄存器名称:
| 架构 | 寄存器名称 |
|---|---|
| x86-64(本课程) | rax、rbx、rcx、rdx、rsi、rdi |
| ARM(手机、平板电脑) | x0、x1、x2、x3... |
| RISC-V(开源) | a0、a1、a2、a3... |
同一条指令(将 5 放入寄存器)在不同的架构上看起来各不相同:
| 架构 | 代码 |
|---|---|
| x86-64 | mov rax, 5 |
| ARM | mov x0, #5 |
| RISC-V | li a0, 5 |
重要:你学到的概念(寄存器、内存、指令)适用于所有架构。只有名称和语法会改变。
亲手试试
这节课没有代码挑战。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Assembly 在线编辑器