From 718fbe03d8fc3804af42244f27f3f66c387971f0 Mon Sep 17 00:00:00 2001 From: Void-Deer Date: Mon, 13 Apr 2026 08:57:35 +0800 Subject: [PATCH] =?UTF-8?q?New:=20LSP1=E9=80=9F=E6=9F=A5=E8=A1=A8=EF=BC=8C?= =?UTF-8?q?=E7=9B=AE=E5=89=8D=E5=8C=85=E5=90=AB=20x86-64=20Linux=20System?= =?UTF-8?q?=20V=20ABI=20CPU=E5=AF=84=E5=AD=98=E5=99=A8=E5=92=8C=E6=A0=87?= =?UTF-8?q?=E5=BF=97=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LSP1 Quick Reference Table 速查表.md | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 CMU-CSAPP/LSP1 Quick Reference Table 速查表.md diff --git a/CMU-CSAPP/LSP1 Quick Reference Table 速查表.md b/CMU-CSAPP/LSP1 Quick Reference Table 速查表.md new file mode 100644 index 0000000..02e421f --- /dev/null +++ b/CMU-CSAPP/LSP1 Quick Reference Table 速查表.md @@ -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 | 无符号数运算结果溢出 | √ | \ No newline at end of file