keil編譯出現asm報錯
① 51單片機 keil軟體編譯時出錯 Text1.asm(7): error A45: UNDEFINED SYMBOL (PASS-2)
你編輯的程序開頭位置出錯了,應該如下
ORG 0000H
LJMP MAIN
ORG 0030H ; 主程序入口
MAIN: SETB P2.6 ; 置無線發射模塊為發射狀態
CLR P1.0 ; P1.0口置0
MOV A,P2
JNB ACC.4,PR1
以下雷同
② keil中為什麼創建一個.asm文件卻無法編譯呢
③ keil工程添加不了asm文件是什麼原因啊
你選中了ASM文件,並雙擊了,其實,這個ASM文件就已經添加到工程中了,再次添加就是重復了,就是出現這個提示。這時,你只要點Close,關閉這個對話框就行了。在左邊工程的程序組前面的+號點開,就會看到已經有ASM文件了。
如下圖所示,左邊工程中已經有了ASM文件,再添加就會出錯了。畫紅圈的兩個相同的文件。
④ 為什麼我的Keil 編譯不了.asm文件
你只是打開了源文件,但是沒有將源文件導入你的工程,所以提示這個錯誤
導入文件的選項在右邊project框裡面,右鍵點Source Group 1,選Add Files... 添加你的源文件就行了
⑤ asm 文件編譯出錯error :org_2 can not fit absolute secti
你的錯誤代碼是errorc129:這是一個C語言方面的語法錯誤,說明你的文件被保存為C文件(文件名為.c後綴)。我用你這段程序放在keil編譯器中試驗過,當程序保存為c文件並編譯時,會出現如你所示的errorc129的錯誤且指向程序的第一句代碼處;若將文件另存為匯編文件(文件名為.asm後綴)再進行編譯,則不會出現c129的報錯。 現在將這段程序保存為.asm文件,並將程序整理為以下形式: 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」命令表示結束) 可以看得出,你這段程序應該不是完整的,另有一部份你沒有復制出來。你可以根據以上說明,再結合你的實際情況處理你的程序。祝你成功!
⑥ 匯編語言用keil編譯報錯 2.asm(11): error A46: CODE-ADDRESS EXPECTED,求解,謝謝!
ORG 0000H ;復位時程序從此開始
SJMP START ;跳到START進行初始化
ORG 0003H ;外部引腳P3.2中斷入口
11)AJMP INT0;--INT0 是關鍵字,不能當作標號
ORG 000BH ;定時器T0中斷入口
AJMP TIMER0 ;跳轉到標號TIMER0處(定時器中斷服務子程序)
ORG 0030H ;初始化程序從30H開始
----------
AJMP 後面,應該寫「標號」。
START、TIMER0,都是正確的標號。
INT0,在 KEIL 中的關鍵字,就不能當作標號。
⑦ Keil編譯出現的問題:新建 文本文檔.asm(1): error A9: SYNTAX ERROR
新建 文本文檔.asm(1): error A9: SYNTAX ERROR
括弧中的1是說第一行有問題 英文是語法錯誤
多了有一個U
⑧ Keil編譯時出錯 Text1.asm(8): error A45: UNDEFINED SYMBOL (PASS-2) 求解 急!急!急!
問題主要在PR1 :
1,短跳JMP用法不對,你就用簡單的AJMP就可以
2,如果單獨編譯這些程序,沒有子程序BDCHAN,XIANSHI ,CLEAR也是通過不了的,SND也沒出現
3,START那裡TL1也要賦值。
4,如果用中斷,程序開頭應該設置中斷服務程序入口,程序里還應該有中斷服務程序,RE是中斷服務程序么?
⑨ 用keil匯編編程時,老是報錯SY.asm(0): warning A41: MISSING 'END' STATEMENT 這是咋回事呀
如果你的程序是復制別人的,保存為*.asm格式的,用記事本打開不出現亂碼,就不會出現
SY.asm(0): warning A41: MISSING 'END' STATEMENT ; 用記事本打開出現亂碼,就會出現 A41。說明你的文件包含了ANSI和uincode 兩種或多種編碼,ANSI編碼能顯示中文,unicode編碼不能顯示中文,可以重新輸入代碼試試。