diff --git a/CMU-CSAPP/LSP1 Quick Reference Table 速查表.md b/CMU-CSAPP/LSP1 Quick Reference Table 速查表.md index 02e421f..895ae07 100644 --- a/CMU-CSAPP/LSP1 Quick Reference Table 速查表.md +++ b/CMU-CSAPP/LSP1 Quick Reference Table 速查表.md @@ -8,24 +8,24 @@ ### 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 | +| 寄存器 | 用途 | 调用约定 | 32位 | 16位 | 8位 | +| ------ | ---- | -------- | ----- | ----- | --- | +| ```%rax``` | 返回值 | Caller-saved | ```%eax``` | ```%ax``` | ```%al``` | +| ```%rbx``` | 基址寄存器 | Callee-saved | ```%ebx``` | ```%bx``` | ```%bl``` | +| ```%rcx``` | 传递参数 | Caller-saved | ```%ecx``` | ```%cx``` | ```%cl``` | +| ```%rdx``` | 传递参数 | Caller-saved | ```%edx``` | ```%dx``` | ```%dl``` | +| ```%rsi``` | 传递参数 | Caller-saved | ```%esi``` | ```%si``` | ```%sil``` | +| ```%rdi``` | 传递参数 | Caller-saved | ```%edi``` | ```%di``` | ```%dil``` | +| ```%rsp``` | 栈指针 | Callee-saved | ```%esp``` | ```%sp``` | ```%spl``` | +| ```%rbp``` | 帧指针 | Callee-saved | ```%ebp``` | ```%bp``` | ```%bpl``` | +| ```%r8``` | 传递参数 | Caller-saved | ```%r8d``` | ```%r8w``` | ```%r8b``` | +| ```%r9``` | 传递参数 | Caller-saved | ```%r9d``` | ```%r9w``` | ```%r9b``` | +| ```%r10``` | 临时寄存器 | Caller-saved | ```%r10d``` | ```%r10w``` | ```%r10b``` | +| ```%r11``` | 临时寄存器 | Caller-saved | ```%r11d``` | ```%r11w``` | ```%r11b``` | +| ```%r12``` - ```%r15``` | 被调用者保存寄存器 | Callee-saved | ```%r12d``` - ```%r15d``` | ```%r12w``` - ```%r15w``` | ```%r12b``` - ```%r15b``` | | | | | -| **```%rip```** | 指令指针 | | -| **```%rflags```** | 标志寄存器 | | +| **```%rip```** | 指令指针 | | ```%eip``` | ```%ip``` | | +| **```%rflags```** | 标志寄存器 | | ```%eflags``` | ```%flags``` | | ### Flags 标志位