#include
#include
int main()
{
system("notepad.exe")
return 0
}2、在C语言源码中,可以通过内联汇编来直接编写汇编程序代码。不同的编译器使用内联汇编的方法不同,vc/vs编译器中一般使用__asm关键字来使用内联汇编,gcc编译器一般使用asm关键字来使用内联汇编,以vc6.0为例,下面的代码通过使用内联汇编来计算1+1,并将结果保存到int型变量result中。
#include
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
}
1、打开Keil,新建一个51工程,同时新建一个main.c文件,并加入到工程源代码当中。
2、再点击新建文件按钮,新建一个汇编语言源文件:test.asm,并将它保存到指定目录。
3、在test.asm当中输入下面的代码。
4、代码编写完成后,需要将test.asm加入到工程当中,即鼠标右键点击对应工程的源程序文件夹,选择“Add Files to Group……”,软件会d出“Add Files to Group……“对话框。
5、Keil默认的源文件是c,输入*.asm查找所有汇编语言源文件,确定后点击“Add”按钮,然后会显示该目录所有的asm文件,选择该文件再次点击“Add”即可完成添加。
6、添加完test.asm后,回到main.c,对test_fun进行声明调用,然后编译即可,正常情况是不会出现Error也不会出现Warning。
7、如果在汇编源程序的函数前没有添加RSEG语句则在编译时会出现下面的错误和警告。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)