|
你的錯(cuò)誤代碼是 error c129: 這是一個(gè)C語(yǔ)言方面的語(yǔ)法錯(cuò)誤,說(shuō)明你的文件被保存為C文件(文件名為.c后綴)。
我用你這段程序放在keil編譯器中試驗(yàn)過(guò),當(dāng)程序保存為c文件并編譯時(shí),會(huì)出現(xiàn)如你所示的error c129的錯(cuò)誤且指向程序的第一句代碼處;若將文件另存為匯編文件(文件名為.asm后綴)再進(jìn)行編譯,則不會(huì)出現(xiàn)c129的報(bào)錯(cuò)。
現(xiàn)在將這段程序保存為.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:
對(duì)于以上程序段,不知道整理出來(lái)之后是否與你的原代碼相同,但其中有一點(diǎn)需要說(shuō)明,匯編文件中的分號(hào)“ ; ” 的作用與C文件中的“ // ”作用類似,它后面緊跟的是注釋內(nèi)容。 你這段程序,若按以上整理,那么所有命令后面的分號(hào)“ ; ” 都可以不要的。 不過(guò),也有可能你確實(shí)使用了分號(hào)的作用,將后面一些命令作了屏蔽處理,則此處不另作說(shuō)明。
下面將整理后的程序進(jìn)行編譯,會(huì)出現(xiàn)以下報(bào)錯(cuò)情況:
錯(cuò)誤、警告的解釋:
第4行的錯(cuò)誤原因是:標(biāo)志符號(hào)“INTT0”沒(méi)有定義;
第18行的錯(cuò)誤原因是:標(biāo)志符號(hào)“SCAN”沒(méi)有定義;
第19行的錯(cuò)誤原因是:標(biāo)志符號(hào)“KEYSCAN”沒(méi)有定義;
第27行的警告原因是:代碼結(jié)束處沒(méi)有“END”命令;(注:所有匯編文件結(jié)尾處都應(yīng)有一句“END”命令表示結(jié)束)
可以看得出,你這段程序應(yīng)該不是完整的,另有一部份你沒(méi)有復(fù)制出來(lái)。你可以根據(jù)以上說(shuō)明,再結(jié)合你的實(shí)際情況處理你的程序。 祝你成功! |
評(píng)分
-
查看全部評(píng)分
|