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)
:
:
);