写出等效的C代码。 int exchange(int *xp,int y) //xp at %ebp+8,y at %ebp+12 1 movl 8(%ebp),%edx 2 movl (%edx),%eax 3 movl 12(%ebp),%ecx 4 movl %ecx,(%edx)
时间: 2023-08-08 18:12:49 浏览: 89
一个用c++写的交换排序
以下是等效的C代码:
```c
int exchange(int *xp, int y) {
int x = *xp;
*xp = y;
return x;
}
```
该函数的功能是将指针xp所指向的整数与整数y交换,并返回原来的值。在汇编代码中,第1行将xp的值加载到edx寄存器中,第2行将edx所指向的整数加载到eax寄存器中,第3行将y加载到ecx寄存器中,第4行将ecx的值存储到edx所指向的整数中。等效的C代码中,第1行将xp所指向的整数加载到x变量中,第2行将y存储到xp所指向的整数中,第3行返回x的值。
阅读全文