导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→C51编程:C与汇编语言混合编程问题[windowswp98]

 *第2281篇: C51编程:C与汇编语言混合编程问题

  
楼 主:windowswp98 2002年2月7日15:31
 C51编程:C与汇编语言混合编程问题
请各位大虾帮忙看看,我在C中调用汇编子程序编译总是不能通过,谢谢了
总是报错:missing ';'before '_Left'
#include "reg51.h"
#define uint unsigned int
extern uint Left(uint temp); //申明函数头
void Delay(uint i) //延时程序
{ uint j;
for(;i>0;i--)
for(j=0;j<120;j++)
{;}
}
void main()
{ uint led=0x55;
while(1)
{ P1=Left(led);//调用函数,实现左移
Delay(100); //延时
}
}
PUBLIC _Left
LEFTP SEGMENT
CODE RSEG LEFTP
_Left: MOV A,R7 ;第一个参数在R7中
RL A
MOV R7,A ;返回值也在R7中
RET
END

  
2楼:e_gay 2002年2月7日18:50
 混合编程不是指在一个文件里面混合用汇编和C语句,另外建立一个.asm文件,单独编译就号了,keil c好像没有提供在C语句里嵌入汇编的控制指令
  
3楼:windowswp98 2002年2月7日19:05
 我是单独建立的1个.asm文件,但是在主程序编译通不过
  
4楼:liangjun 2002年3月8日15:41
 请老古回答!!!
我也碰到c调asm时,编译后说少“;”。不知如何解决。

>>>>>>对该主题发表你的看法

本主题贴数4,分页: [第1页]


[上一篇主题]:硬件:请问各位大虾,ping局域网以外地址是如何进行的?

[下一篇主题]:初学者:请教:外部RAM在仿真时能读写,一烧进片子就不行了