New: LSP1速查表,目前包含 x86-64 Linux System V ABI CPU寄存器和标志位

This commit is contained in:
2026-04-13 08:57:35 +08:00
parent 0f999de708
commit 718fbe03d8

View File

@@ -0,0 +1,41 @@
# 目录
- [CPU寄存器](#cpu寄存器)
- [x86-64 Linux System V ABI的寄存器用途](#x86-64-linux-system-v-abi)
- [Flags 标志位](#flags-标志位)
## CPU寄存器
### x86-64 **Linux** System V ABI
| 寄存器 | 用途 | 调用约定 |
| ------ | ---- | -------- |
| ```%rax``` | 返回值 | Caller-saved |
| ```%rbx``` | 基址寄存器 | Callee-saved |
| ```%rcx``` | 传递参数 | Caller-saved |
| ```%rdx``` | 传递参数 | Caller-saved |
| ```%rsi``` | 传递参数 | Caller-saved |
| ```%rdi``` | 传递参数 | Caller-saved |
| ```%rsp``` | 栈指针 | Callee-saved |
| ```%rbp``` | 帧指针 | Callee-saved |
| ```%r8``` | 传递参数 | Caller-saved |
| ```%r9``` | 传递参数 | Caller-saved |
| ```%r10``` | 临时寄存器 | Caller-saved |
| ```%r11``` | 临时寄存器 | Caller-saved |
| ```%r12``` - ```%r15``` | 被调用者保存寄存器 | Callee-saved |
| | | |
| **```%rip```** | 指令指针 | |
| **```%rflags```** | 标志寄存器 | |
### Flags 标志位
| VS显示名称 | 标志位 | 全称 | 为1时表明... | 用户态可用 |
| ---------- | ------ | ---- | ---- | ---------- |
| OV | OF | **O**ver**f**low Flag | 有符号数运算结果溢出 | √ |
| UP | DF | **D**irection **F**lag | 字符串指令的处理方向递减 | √ |
| EI | IF | **I**nterrupt **F**lag | 允许外部中断 | |
| PL | SF | **S**ign **F**lag | 结果为负数 | √ |
| ZR | ZF | **Z**ero **F**lag | 结果为零 | √ |
| AC | AF | **A**uxiliary carry **F**lag | (辅助进位) | √ |
| PE | PF | **P**arity **F**lag | 结果的二进制表示中1的个数为偶数 | √ |
| CY | CF | **C**arry **F**lag | 无符号数运算结果溢出 | √ |