keil的編譯錯誤 error c129 missingbefore

時間 2021-08-11 17:35:05

1樓:元飛珍

你的錯誤**是 error c129: 這是一個c語言方面的語法錯誤,說明你的檔案被儲存為c檔案(檔名為.c字尾)。

我用你這段程式放在keil編譯器中試驗過,當程式儲存為c檔案並編譯時,會出現如你所示的error c129的錯誤且指向程式的第一句**處;若將檔案另存為彙編檔案(檔名為.asm字尾)再進行編譯,則不會出現c129的報錯。

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」命令表示結束)

可以看得出,你這段程式應該不是完整的,另有一部份你沒有複製出來。你可以根據以上說明,再結合你的實際情況處理你的程式。 祝你成功!

2樓:匿名使用者

你將檔案字尾改為:asm 應該就可以,彙編存成了c檔案

3樓:匿名使用者

你建立的是.c檔案吧?彙編應該建立的是.asm檔案。

VB編譯錯誤 無效外部過程,VB 編譯錯誤 無效外部過程

是把 寫在子過程 函式過程或屬性過程外而發生的錯誤。在過程外無效 該語句必須發生在子過程 函式過程或屬性過程 property get property let 和 property set 內部。這個錯誤的起因與解決方法如下所示 一個可執行的語句,如 static 或 redim,出現在模組級別中...

c語言編譯錯誤

void main 自己可以優化下 的。 倒數第二行多了個括號 default printf error 應該是main break case break case break case break default printf error 1個錯誤,1個不妥 錯誤 default printf e...

C語言的編譯錯誤,大家幫幫忙!急

這樣就沒錯了 include include define list init size 100 define listincrement 10 define ok 1 define error 1 typedef structsqlist typedef int status int p,q q ...