diff --git a/CSAPP/L07 Procedures 函数的调用.md b/CSAPP/L07 Procedures 函数的调用.md index 060ffb8..4aeb57b 100644 --- a/CSAPP/L07 Procedures 函数的调用.md +++ b/CSAPP/L07 Procedures 函数的调用.md @@ -154,8 +154,8 @@ A: 在编译时,编译器会根据函数预计内存的使用情况来生成 | ```%rsi``` | Caller-Save | 传递参数 | | ```%rdx``` | Caller-Save | 传递参数 | | ```%rcx``` | Caller-Save | 传递参数 | -| ```%r8``` | Caller-Save | 传递参数 | -| ```%r9``` | Caller-Save | 传递参数 | +| ```%r8``` | Caller-Save | 传递参数 | +| ```%r9``` | Caller-Save | 传递参数 | | ```%r10``` | Caller-Save | 临时寄存器 | | ```%r11``` | Caller-Save | 临时寄存器 | | | | | @@ -212,4 +212,3 @@ pcount_recursive: ``` 可以看到,在递归调用之前,函数将```%rbx```寄存器的值压入栈中,以保存它的值(因为```%rbx```是Callee-Save寄存器)。在递归调用之后,函数将```%rbx```的值弹出,以恢复它的值。这样,每次递归调用都会正确地保存和恢复```%rbx```寄存器的值,确保递归函数能够正确地执行。 - diff --git a/CSAPP/L08 Data.md b/CSAPP/L08 Data.md index 6293422..fa9c4e0 100644 --- a/CSAPP/L08 Data.md +++ b/CSAPP/L08 Data.md @@ -60,7 +60,7 @@ get_num: # 这是Debug配置下的编译结果,因此略显冗长 ### Multidimensional Arrays 多维数组 -#### C语言的指针与数组: +#### C语言的指针与数组 ```C int A1[3]; //是一个整数数组,大小为3 @@ -256,7 +256,7 @@ add_doubles: 它们的图解如下图所示: ![addss和addps指令的图解](/CSAPP/images/L08%20ADDSS%20&%20ADDPS%20Diagram%20.png) -*这里使用了SSE的128位寄存器来演示addss和addps指令的功能。对于AVX的256位寄存器,addss和addps指令的功能是一样的,只不过它们可以同时处理更多的浮点数。* +*这里使用了SSE的128位寄存器来演示```addss```和```addps```指令的功能。对于AVX的256位寄存器,```addss```和```addps```指令的功能是一样的,只不过它们可以同时处理更多的浮点数。* - ```addsd```:对两个寄存器内的第一个双精度浮点数进行加法运算 - ```addpd```:对两个寄存器内的所有双精度浮点数进行加法运算