本帖最后由 ningkong 于 2022-12-5 22:50 编辑
起因 学习 ARM64汇编 和 函数调用在汇编中的表现形式
提问:
__asm__ 和 asm 有什么区别?
[Objective-C] 纯文本查看 复制代码 int double_num(int num) {
__asm__ __volatile__(
"lsl x0, x0, 1\n"
"str x0, [sp, #12]\n"
);
return num;
}
[Objective-C] 纯文本查看 复制代码 int arm_sum(int a, int b) {
int sum = 0;
asm volatile("add %w0, %w1, %w2"
: "=r" (sum) // 输出参数
: "r" (a), "r" (b) // 输入参数
: "%x20", "%x21");
return sum;
}
第一部分是, 查询 掘金中的 文章的代码: juejin.cn/post/6844903582139940877
第二部分是,书中的代码, 想知道有什么区别。
请老师解答
|