ios编写汇编函数

ios编写汇编函数

打开xcode->新建ios工程->新建Assembly File
Add.s

.text
.align 4
.global _funcAdd_arm

_funcAdd_arm:
    add w0, w0, w1
    add w0, w0, w2
    add w0, w0, w3
    add w0, w0, w4
    add w0, w0, w5
    ret

调用

extern int funcAdd_arm(int a, int b, int c, int d, int e, int f);

int main(int argc, char * argv[]) {
    int num = funcAdd_arm(1, 2, 3, 4, 5, 6);
    NSLog(@"%d", num);
    
    NSString * appDelegateClassName;
    @autoreleasepool {
        // Setup code that might create autoreleased objects goes here.
        appDelegateClassName = NSStringFromClass([AppDelegate class]);
    }
    return UIApplicationMain(argc, argv, nil, appDelegateClassName);
}

直接使用内联汇编

NSInteger num = 0;
NSInteger num2 = 0;
asm(
    "mov x0,1\t\n"
    "mov x1,2\t\n"
    "mov x2,3\t\n"
    "mov x3,4\t\n"
    "mov x4,5\t\n"
    "mov x5,6\t\n"
    "bl _funcAdd_arm\t\n"
    "mov %0,x0\t\n"
    "mov %1,#2\t\n"
    :"=r"(num),"=r"(num2)
    :
    :
    );
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值