有网友碰到这样的问题“51单片机,怎么样使得C语言与汇编语言结合起来?我想在C语言里调用汇编语言函数。”。小编为您整理了以下解决方案,希望对您有帮助:
解决方案1:
首先写个H文件,把汇编的函数申明在里面
例如:
extern bit plus(iu8 *d_dat,iu8 *s_dat,u8 len);
然后,建立ASM文件,例如tool.asm
先指定存储区
?PR?_plus?TOOL SEGMENT CODE
?PR?固定的,然后是函数名前+下划线,?TOOL 是这个asm的名字,CODE是存储区
然后向外申明函数
PUBLIC _plus
最后是函数体
RSEG ?PR?_plus?TOOL
_plus:
USING 0
。。。。
ret
参数传递,R7是第一个参数,R6是第二个。。。,如果不是char ,或参数是指针,那么占用多个Rn,
例如:
这个函数中,d_dat是R7,R6;s_dat是R5,R4;len是R3
解决方案2:
最好的办法就是写一个于汇编语言接口一致的C语言函数原型。然后反汇编,复制他的汇编代码修改。
Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务