xcode/gcc c语言 怎么调用汇编代码?
在xcode中写c代码程序怎么调用汇编代码?比如调用加法inta=1;intb=0;汇编代码moveax,a;addeax,10;movb,eax;这汇编代码怎么调用?v...
在xcode中写c代码程序怎么调用汇编代码?
比如调用加法
int a = 1;
int b = 0;
汇编代码
mov eax, a;
add eax, 10;
mov b, eax;
这汇编代码怎么调用?
vs里好像只要_asm{ 汇编代码就行了}?? 展开
比如调用加法
int a = 1;
int b = 0;
汇编代码
mov eax, a;
add eax, 10;
mov b, eax;
这汇编代码怎么调用?
vs里好像只要_asm{ 汇编代码就行了}?? 展开
2个回答
展开全部
1、如果汇编程序是可执行文件,比如exe文件,则可以使用system函数直接调用。比如下面的代码,用system()打开windows上的记事本程序。
#include <stdio.h>
#include <stdlib.h>
int main()
{
system("notepad.exe");
return 0;
}
2、在C语言源码中,可以通过内联汇编来直接编写汇编程序代码。不同的编译器使用内联汇编的方法不同,vc/vs编译器中一般使用__asm关键字来使用内联汇编,gcc编译器一般使用asm关键字来使用内联汇编,以vc6.0为例,下面的代码通过使用内联汇编来计算1+1,并将结果保存到int型变量result中。
#include <stdio.h>
int main()
{
int result;
_asm {
mov eax,1
mov ebx,1
add eax,ebx
mov result, eax
}
printf("1+1=%d\n", result);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
system("notepad.exe");
return 0;
}
2、在C语言源码中,可以通过内联汇编来直接编写汇编程序代码。不同的编译器使用内联汇编的方法不同,vc/vs编译器中一般使用__asm关键字来使用内联汇编,gcc编译器一般使用asm关键字来使用内联汇编,以vc6.0为例,下面的代码通过使用内联汇编来计算1+1,并将结果保存到int型变量result中。
#include <stdio.h>
int main()
{
int result;
_asm {
mov eax,1
mov ebx,1
add eax,ebx
mov result, eax
}
printf("1+1=%d\n", result);
return 0;
}
追问
看问题唉。。。vs中我当然知道,用windows码代码是多少年前的事了。。唉
要xcode 和gcc中怎么调用。。
最近用汇编和C搞驱动。。。麻烦死了。好几年不码汇编了。。光C就够麻烦的了..
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询