![]() |
宮本無三四 發表于 2017-5-10 09:03 謝謝指教 |
沒有定義數據類型吧 |
再嘗試幾次 |
數據沒有定義 |
應該是語法有錯誤吧 |
你的錯誤代碼是 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”命令表示結束) 可以看得出,你這段程序應該不是完整的,另有一部份你沒有復制出來。你可以根據以上說明,再結合你的實際情況處理你的程序。 祝你成功! |
沒有定義數據類型吧 |
沒有定義數據類型吧 |
jmx 發表于 2017-5-8 19:01 應該他沒定義 |
是不是沒有定義數據類型 |