c语言错误129,keil编译错误C129,怎么解决!!

你的错误代码是 error c129: 这是一个C语言方面的语法错误,说明你的文件被保存为C文件(文件名为.c后缀)。

我用你这段程序放在keil编译器中试验过,当程序保存为c文件并编译时,会出现如你所示的error c129的错误且指向程序的第一句代码处;若将文件另存为汇编文件(文件名为.asm后缀)再进行编译,则不会出现c129的报错。

现在将这段程序保存为.asm文件,并将程序整理为以下形式:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

ORG 0000H

LJMP START

ORG 000BH ;

LJMP INTT0;

START:  MOV R0,#70H

MOV R7,#0CH

INIT:   MOV @R0,#00H

INC R0

DJNZ R7,INIT

MOV 72H,#10

MOV 75H,#10

MOV TMOD,#01H

MOV TL0,#0B0H

MOV TH0,#03CH

SETB EA

SETB ET0

SETB TR0

START1:  LCALL SCAN

LCALL KEYSCAN

SJMP START1;

DL1MS:   MOV R6,#14H

DL1:     MOV R7,#19H

DL2:     DJNZ R7,DL2

DJNZ R6,DL1

RET;

DL20MS:

对于以上程序段,不知道整理出来之后是否与你的原代码相同,但其中有一点需要说明,汇编文件中的分号“ ; ” 的作用与C文件中的“ // ”作用类似,它后面紧跟的是注释内容。  你这段程序,若按以上整理,那么所有命令后面的分号“ ; ” 都可以不要的。 不过,也有可能你确实使用了分号的作用,将后面一些命令作了屏蔽处理,则此处不另作说明。

下面将整理后的程序进行编译,会出现以下报错情况:

错误、警告的解释:

第4行的错误原因是:标志符号“INTT0”没有定义;

第18行的错误原因是:标志符号“SCAN”没有定义;

第19行的错误原因是:标志符号“KEYSCAN”没有定义;

第27行的警告原因是:代码结束处没有“END”命令;(注:所有汇编文件结尾处都应有一句“END”命令表示结束)

可以看得出,你这段程序应该不是完整的,另有一部份你没有复制出来。你可以根据以上说明,再结合你的实际情况处理你的程序。 祝你成功!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值