vc编程实例教程 c语言中如何调用汇编程序?
浏览量:1315
时间:2021-04-14 01:55:39
作者:admin
c语言中如何调用汇编程序?
20 如何自己用C#编写汇编语言编译器?
计算机上唯一可以运行的语言是二进制代码。但是二进制是很难写或读的(你可以想象一个完整的0和1的代码)。为了使用户更好地读写代码,在汇编语言中,用助记符代替操作码,用地址符号或标签代替地址码。这样,机器语言的二进制代码就被符号所取代,机器语言就变成了汇编语言。换句话说,汇编可以直接转换成二进制语言并在CPU上运行,所以它不需要任何驱动程序来运行。当然,需要硬件制造商提供的汇编编译器将汇编代码转换为二进制代码。当你提到计算机如何识别指令时,问题非常复杂。它涉及数字电路、计算机原理和其他东西。总之,这些是CPU制造商需要考虑的事情。
汇编怎样调用C?
汇编调用C,根据函数调用规范传递参数(即栈压),常用函数调用规范有stdcall,cdecl,cdecl是常用的默认调用规范。如果是cdecl,则堆栈清理操作由调用方处理,也就是说,程序集需要在C函数返回后清除堆栈。
另外,汇编调用C,还要处理ABI的返回值,常用的arm ABI oabi、EABI等,相关的返回值在哪个寄存器中。
C调用程序集。除了按照上述函数调用规范和ABI规范处理参数和返回值外,assembly还应该使用MOV、PC、LR返回C,即当C调用发生时,LR有调用的返回地址
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。
上一篇
电商是网页设计吗 如何做电商