本帖最后由 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 
第二部分是,书中的代码, 想知道有什么区别。 
请老师解答 
 
 
 |