當前位置:首頁 » 編程軟體 » 編譯asm無法推導出子系統

編譯asm無法推導出子系統

發布時間: 2022-06-22 17:16:02

① masm無法編譯asm文件,提示unable to open input file!

不要用中文命名文件,文件名長度不要超過8個英文字元。這是原DOS下很多工具的通病。

② 如何編譯ASM文件

1. 在DOS命令中轉到要編譯文件所在的目錄.
2.輸入MASM.EXE空格+文件名.三下回車,就生成了OBJ文件,
3.link.exe空格+所生成的OBJ文件,再按三下回車,就生成了exe文件.

③ 學習單片機,Keil無法編譯.asm文件和.c文件

你只是打開了源文件,但是沒有將源文件導入你的工程,所以提示這個錯誤
導入文件的選項在右邊project框裡面,右鍵點Source Group 1,選Add Files... 添加你的源文件就行了

④ keil在編譯asm文件時老是出現這樣的問題是怎麼回事呢

書寫錯誤,A和01H中間的 . 去掉,換成逗號,
MOV A, 01H

⑤ 匯編在VS2008上的編譯老是出錯

右鍵項目-屬性-配置屬性-鏈接器-系統-子系統-下拉框選擇「窗口 (/SUBSYSTEM:WINDOWS)」

⑥ 匯編 請問調用外部(其它)ASM文件裡面的子過程應該怎麼調

主程序調用寫在其他asm中的子過程的方法
主程序文件名 main.asm
子過程文件名 sub.asm
子過程名 fun1

方法有:
1:
(1)在main.asm 文件中 在call fun1 之前的任意位置,(即使在.data中也可以) include sub.asm
(2)在 sub.asm的子過程之前可以使用 .code和.data 也可以不加
列如:
.data
n1 DWORD 2
.code
fun1 PROC NEAR32
add eax ,n1
ret
fun1 ENDP
或者:
fun1 PROC NEAR32
add eax ,eax
ret
fun1 ENDP
(3)直接編譯main.asm,連接main.obj 即可
注: sub.asm 最後一定不能有END

2:(1)在main.asm 文件中 的.data 之前 EXTRN fun1:NEAR32 ,也可以用 fun1 PROTO NEAR32 聲明函數
(2)在sub.asm 的fun1 PROC NEAR32之前,或者fun1 ENDP 之後 PUBLIC fun1
sub.asm 末尾需要 END
例如:

.386
.MODEL FLAT
PUBLIC fun1
.data
n1 dword 2
.code
fun1 PROC NEAR32
add eax ,n1
ret
fun1 ENDP
end
(3)分別編譯main.asm,sub.asm。連接連接main.obj和sub.obj

總結,若是其他asm文件中的是宏,則在主文件,或者子過程文件中 直接 include 宏name.asm 即可
若是這些工作做得沒有差錯,編譯或者連接時出現差錯,則最大可能性是:你的子過程名寫錯了,解決的辦法是
把所有出現子過程名的地方重新復制粘貼一遍。

⑦ 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怎麼編譯不起asm文件 錯誤:不能執行以c:keil\c51\bin\c51.exe

你的ASM文件的擴展名是.asm嗎?從提示信息看,你的程序擴展名是.c,所以調用了C51.EXE。

⑨ proteus isis編譯asm程序總有問題。但是在c程序在keil可以編譯這是為什麼啊

就是一個正確的ASM程序,用keil編譯是對的。但用proteus編譯就不能通過,大概是它要求的語法不同吧。其實,你根本就不需要用proteus編譯匯編程序,既然c程序用keil可以編譯,說明你電腦上有keil,那就用keil來編譯ASM程序嗎,keil是可以編譯C程序和ASM程序的,方法是一樣的,新建一個工程,在工程中將ASM程序載入進來,然後就可以編譯了。proteus就是用來畫模擬圖,然後模擬的,不要什麼都讓它來做。

熱點內容
u盤里文件夾是空的 發布:2025-02-14 06:13:22 瀏覽:803
安卓如何縮放圖片尺寸 發布:2025-02-14 06:06:34 瀏覽:116
六年級簡便演算法題 發布:2025-02-14 05:53:02 瀏覽:8
腳本精靈要root嗎 發布:2025-02-14 05:51:30 瀏覽:212
安卓手機如何錄屏怎麼去掉觸摸顯示 發布:2025-02-14 05:36:23 瀏覽:996
安卓系統新品推薦怎麼關 發布:2025-02-14 05:35:44 瀏覽:888
虛擬存儲器的基礎是 發布:2025-02-14 05:32:24 瀏覽:516
androidstudio出錯 發布:2025-02-14 05:32:14 瀏覽:305
面容id存儲多張臉 發布:2025-02-14 05:31:30 瀏覽:656
網站源碼百度雲 發布:2025-02-14 05:30:53 瀏覽:214