格式化文件
This commit is contained in:
@@ -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```寄存器的值,确保递归函数能够正确地执行。
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ get_num: # 这是Debug配置下的编译结果,因此略显冗长
|
||||
|
||||
### Multidimensional Arrays 多维数组
|
||||
|
||||
#### C语言的指针与数组:
|
||||
#### C语言的指针与数组
|
||||
|
||||
```C
|
||||
int A1[3]; //是一个整数数组,大小为3
|
||||
@@ -256,7 +256,7 @@ add_doubles:
|
||||
|
||||
它们的图解如下图所示:
|
||||

|
||||
*这里使用了SSE的128位寄存器来演示addss和addps指令的功能。对于AVX的256位寄存器,addss和addps指令的功能是一样的,只不过它们可以同时处理更多的浮点数。*
|
||||
*这里使用了SSE的128位寄存器来演示```addss```和```addps```指令的功能。对于AVX的256位寄存器,```addss```和```addps```指令的功能是一样的,只不过它们可以同时处理更多的浮点数。*
|
||||
|
||||
- ```addsd```:对两个寄存器内的第一个双精度浮点数进行加法运算
|
||||
- ```addpd```:对两个寄存器内的所有双精度浮点数进行加法运算
|
||||
|
||||
Reference in New Issue
Block a user