99问答网
所有问题
汇编语言和C语言混合编程时,它们之间是如何传递参数的?请用具体例子说明
如题所述
举报该问题
推荐答案 推荐于2016-10-14
对于参数个数可变的子程序,当参数不超过4个时,可以使用
寄存器
R0~R3来进行参数传递,当参数超过4个时,还可以使用数据栈来传递参数. 在参数传递时,将所有参数看做是存放在连续的内存单元中的字数据。然后,依次将各名字数据传送到寄存器R0,R1,R2,R3; 如果参数多于4个,将剩余的字数据传送到数据栈中,入栈的顺序与参数顺序相反,即最后一个字数据先入栈.
参考资料:
http://baike.baidu.com/view/3409887.htm
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/ezXvXtBze.html
其他回答
第1个回答 2012-06-13
变量本质就是一个内存地址,所以把变量负值到寄存器就可以了,比如这样__asm mov eax, var,如果是函数,跟c函数一样调用,当然,也可以用汇编写一个动态链接库,然后用c调用,你可以把c程序逆向一下,就可以看到它们的对应关系了,呵
本回答被网友采纳
相似回答
关于ARM中
汇编与C程序的混合编程的参数传递
问题!
答:
汇编跳至C语言代码执行,自动调用R0,R1等来传递参数,比如R0传递给a,R1传递给b,以此类推
。返回时自动用R0传递返回值。希望对你有帮助
汇编语言是
怎么调用
c语言的
程序
的?
答:
汇编程序
的设计要遵守ATPCS,保证程序调用
时参数的
正确传递。在汇编程序中使用IMPORT伪操作声明将要调用的C程序。下面是一个汇编程序调用
C程序的例子
。其中在汇编程序中设置好各参数的值。本例中有6个参数,分别使用寄存器R0存放第1个参数,R1存放第2个参数, R2存放第3个参数, R3存放第4个参数, 第5个、...
汇编语言和c语言的混合编程
中,为什么ESP+4可以用来接收c语言函数的参 ...
答:
ESP用于指向栈的栈顶(下一个压入栈的活动记录的顶部),而栈由高地址向低地址成长,函数调用是用入栈的方式
传递参数
,故在函数处理参数时,ESP+4就是最后一个入栈的
参数的
地址,ESP+8就是再前一个参数的地址。
如何C语言与汇编
混编
答:
c语言
可以嵌套汇编:按照TC2.0的帮助系统所以说的,在TC2.0下是可以用
汇编的,
方法是使用asm关键字:其格式是:asm opcode <operands> <;newline>,如同别的注释一样,<>
之间的
表示可选的;例如:main(){ char *c="hello,world/n/r$"; asm mov ah,9;asm mov dx,c;asm int 33;printf("You sucessed!/n")...
51系列单片机
混合编程时候
C语言
定义的变量
如何传递
到
汇编语言?
答:
可以强制对变量的地址进行固定,然后汇编操作相应的地址就行了
C语言和汇编混合编程时如何
带回一个以上的返回
参数
答:
本来
C语言
就只能返回一个值,不管你和什么
语言混合
。可以用指针
参数
返回值,也可以定义一个结构,包装好要返回的多个值,然后返回其指针,注意不要返回栈内存的地址就可以了
将
C语言与汇编
混编时应加入什么做为
说明
答:
C语言和汇编语言混合编程
现在是我的主要工作工具,只要搞清楚以下几点就可以了:1.C语言和汇编语言访问对方的常量和变量,要做的是在各自的程序中声明在别的语言里定义的常量和变量。
跟具体的
编译器有关。2.相互调用的调用协议:在调用的
时候,
双方都要声明。要注意调用协议。
参数如何传递
,如何压栈。汇编...
如何
在64位的linux系统上
使用汇编和C语言混合编程
答:
C51与
汇编语言混合编程
(1).C51语言中调用
汇编语言程序
1、在文件中选中FILEGROUP
和C
51程序原文件,在配置文件选项中激活“i”产生汇编(SRC)文件,“编译(SRC)文件”和“创建工程(目标)时包含“三个选项。2、根据选择的编译模式,把相应的库文件(如SMALL模式,库文件为KEIL\C51\LIB\C51S.LIB)加入...
汇编语言和C语言的混合编程,如何用
keilC51把.c和.asm文件编译成一HEX文 ...
答:
以个例子给你参考,有两个文件,一是S.a51, 另一个是 M.C都加到KEILL的工程中编译。汇编中有两个函数,注意
C的参数是如何传递
给
汇编的
。S.A51 NOMOD51 NAME SENTBYTEUP ?PR?_SentByteUp?SENTBYTEUP SEGMENT CODE ?DT?_SentByteUp?SENTBYTEUP SEGMENT DATA OVERLAYABLE PUBLIC _SentByteUp ...
大家正在搜
c语言是不是汇编语言
汇编语言在c语言中的应用
汇编语言是一种什么程序设计语言
C语言与汇编语言的区别
c语言和汇编语言
汇编语言和c语言有关系吗
汇编语言与c语言的关系
c语言和汇编语言哪个难
汇编语言和c语言优劣
相关问题
汇编语言和c语言的混合编程中,为什么ESP+4可以用来接收c...
关于汇编语言和C语言的混合编程中函数之间参数传递的问题
关于ARM中汇编与C程序的混合编程的参数传递问题!
5、C语言和汇编语言混合编程时,如何进行符号变量的联系?如何...
用c语言和汇编混合编程时应注意哪些情况?
51系列单片机混合编程时候 C语言定义的变量如何传递到汇编语...
为什么要C和汇编混合编程?
在C语言和汇编语言混合编程时,C程序与汇编程序将通过寄存器或...