xiaobenyi 发表于 2015-3-5 22:12:35

请问IAR8051里面嵌入汇编子程序怎么做?

最近一个项目,原来的工程是用IAR 8051做的
现在需要把IO口模拟SPI的部分改成汇编以提高速度,但不知道该怎么实现混合编程

查了一些资料,信息比较少

目前只知道asm(" MOV R1,A");
这种格式能嵌入一行或者多行
我尝试了这样写:

asm("MOV        A,R1                 \n"
        "MOV        R5,#8        \n"
"LOOP1:                        \n"
        "MOV        C,SDO         \n"
        "RRC        A                 \n"
        "MOV        SDI,C                \n"
        "SETB        SCK        \n"
        "CLR        SCK                 \n"
        "DJNZ        R5,LOOP1         \n"
        "MOV        R1,A                 \n"
        "RET                                ");

编译时提示:
Internal Error: : 1: bad byte count for graph (16 vs. 1)

如果将这段还原成C语言,则没有这个问题

xieguangye 发表于 2015-3-6 09:11:04

TI的MSP430的IAR官方程序通常的做法将汇编单独编程成.s封装为函数,然后在.c里调用函数

xiaobenyi 发表于 2015-3-6 20:32:33

xieguangye 发表于 2015-3-6 09:11
TI的MSP430的IAR官方程序通常的做法将汇编单独编程成.s封装为函数,然后在.c里调用函数 ...

具体做法是怎么样的呢?
能否举个例子?

汇编子程序单独写个文件是没有问题,
但问题是如何在C文件里面声明汇编子程序以及参数怎么传递

xiaobenyi 发表于 2015-3-6 21:25:32



发现帮助文档里面写了, 135页
页: [1]
查看完整版本: 请问IAR8051里面嵌入汇编子程序怎么做?