189 8069 5689

c语言怎么汇编函数 汇编调用c语言函数

在c语言里怎么调用汇编函数?

把汇编写在另一个文件里 在main写个原型声明 再把两个文件同时编译可不可以。

成都创新互联是一家专注于成都网站建设、网站建设与策划设计,东港网站建设哪家好?成都创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:东港等地区。东港做网站价格咨询:18982081108

我的gcc编译器里是这样写的

汇编文件m.s

.file "stdio.h"

#hellowrold.s print "hello,world!"

.section .data

output:

.ascii "%d %d %d\0"

.section .text

.globl _fun

_fun:

pushl %ebp

movl %esp, %ebp

subl $16, %esp

movl 0x8(%ebp), %eax

movl %eax, 0x4(%esp)

movl 0xc(%ebp), %eax

movl %eax, 0x8(%esp)

movl 0x10(%ebp), %eax

movl %eax, 0xc(%esp)

movl $output, %eax

movl %eax, (%esp)

call _printf

movl %ebp, %esp

popl %ebp

ret

.end

主函数前的原型声明 extern int fun(int i, int j, int k);

c语言中一个函数需要用汇编实现,该怎么实现

根据功能需求 写汇编代码

然后 使用asm关键字嵌入即可。

比如

int a,b;

{

asm   mov ax,word ptr 8[bp]

asm   imul ax word ptr 10[bp]

}

或者

int power2( int num, int power ) 

__asm 

mov eax, num   ; Get first argument 

mov ecx, power   ; Get second argument 

shl eax, cl     ; EAX = EAX * ( 2 to the power of CL ) 

}

具体看平台。 因为汇编是绝对不跨平台的。

如何在C语言中调用汇编函数

1、 参数传递

二、汇编程序、C程序相互调用举例

1、 C程序调用汇编程序

汇编程序的设计要遵守ATPCS(ARM—Thumb Procedure Call Standard),保证程序调用时参数的正确传递。在汇编程序中使用EXPORT 伪操作声明本程序,使得本程序可以被别的程序调用。在C程序使用extern声明该汇编程序。

下面是一个C程序调用汇编程序的例子。其中汇编程序strcopy实现字符串复制功能,C程序调用strcopy完成字符串复制的工作。


名称栏目:c语言怎么汇编函数 汇编调用c语言函数
当前链接:http://cdxtjz.cn/article/hhisei.html

其他资讯