匯編編譯成功連接失敗
❶ 匯編語言,編譯鏈接過程不能正常生成目標文件和可執行文件
那個ml 1.asm為什麼不能生成1.exe呢?
--能生成。
我要是分開步驟來先用那個masm 1.asm 也不能生成1.obj
--能生成。
這是為什麼呢?
--你操作失誤。
到底有人會嗎?
--當然有。
------------------
在下面鏈接中:
http://..com/question/1894900690979420060.html
你有一個插圖,你再看看:
畫線的位置,看你都瞎敲一些什麼呀!!!
你把默認輸出的文件名,都改成什麼了?
什麼也不用敲,直接回車,即可。
LINK 的後面,也不用費事,回車就行。
我在你以前的問題中,已經提示你了操作步驟。
你就按照步驟做,保證就是成功的。
❷ 今天用匯編編寫了一個程序,編譯與連接都無問題,但是就是運行到中間就停止了,希望有高人指點
學習中
❸ win7 匯編(編譯連接結果卻顯示不了)的問題
可能是編譯器的問題,有些和win7不兼容,我以前就遇到過,在機房xp系統上編譯運行良好的程序拿回自己的win7上就不行了,後來我換了個編譯器就好了
❹ 一個匯編程序編譯通過了,但運行EXE文件時卻出錯,急急急
START:
MOV AX,DATA /MOV DS,AX
MOV SI,OFFSET MARKS
MOV CX,14
LOP: MOV AX,01H ;功能指定錯誤,mov ah,1才是接收鍵盤輸入
INT 21H
CMP AL,0AH /JE LOP ;0aH無法輸入,應cmp al,0dH(回車)
;無輸入等待
SUB AL,30H /MOV [SI],AL
INC SI
LOOP LOP
MOV CX,6
MOV SI,OFFSET MARKS
MOV AX,[SI] ;上面是位元組,仍要依上,mov al,[si]
LOP1: CMP AX,[SI+2] ;cmp al,[si+1]
JG ADB
MOV AX,[SI+2] ;mov al,[si+1]
ADB: ADD SI,2 ;add si,1
LOOP LOP1
; 最大數在AL中
MOV CX,6
MOV SI,OFFSET MARKS ;多餘,輸14個數,處理6個,還有餘
MOV AX,[SI] ;數送到AX,下面怎麼拿未賦值BX的與人比?
LOP2: CMP BX,[SI+2] /JL ALB ;錯大發了......
MOV BX,[SI+2]
ALB: ADD SI,2
LOOP LOP2
MOV AH,4CH
INT 21H
❺ 剛接觸匯編,程序是照著書上打的,肯定沒問題,編譯連接都成功,就是最後運行
問題不完整,沒法回答,你把現像和源碼發上來人家並把疑問提出來,人家才可能為你解答
❻ 匯編語言程序編譯連接生成exe文件成功,運行階段按要求輸入字元回車後看不到結果,屏幕消失。在線等解
呃,你開始->運行->cmd
然後轉到你的程序所在目錄下,如c:\masm\,就輸入cd c:\masm\
然後輸入你程序的名字,回車,你就看到結果了
❼ 今天用匯編編寫了一個程序,編譯與連接都無問題,但是運行到中間就停止了,請高手指點。
上次貌似看過這個題,不過仔細一看,這個問題有stack ends,那應該是樓主新開的帖子了。
我對匯編理解一般,還停留在基礎上,也不主攻匯編,看樓主問了這么久,就問問不要緊吧
貌似要用data做輸入,然後計算完輸出到table中
start : mov ax,data
mov ds,ax
mov ax,table
mov es,ax
data給了ds段,
table給了es段,那麼為什麼
mov ax,es:[bx][5]
mov dx,es:[bx][7]
div word ptr es:[bx+10]
要一直操作es段呢?
你計算完了之後
是把 mov es:[bx+13],ax,也就是說此時es確實是用來放結果的
但是
mov ax,es:[bx][5]
mov dx,es:[bx][7]
也同樣都是獲取的es段啊?
而且中間也沒有過壓棧退棧的操作
word ptr es:[bx+10]先放到別的寄存器里不行么?
db 10 p (0) 夠用么?
希望能幫助樓主你
❽ 匯編時編譯通過,連接時出現kernel32.lib not valid library
連接器的版本不行吧?建議用 VC++ 的連接器 link
❾ 輕松匯編中主程序如何與子程序鏈接子程序編譯成功後都可以連接,主程序編譯後連接錯誤顯示undefined sym
是多個文件還是一個文件啊?如果是多個文件……當然是可以做到的,但是需要你首先依次打開各個文件,編譯,生成目標文件(obj),然後重新打開主程序,修改輕松匯編的鏈接參數,鏈接……挺麻煩的,還不如直接用命令行,因為輕松匯編的設計就只考慮支持一個匯編文件,沒考慮多個文件的問題。
❿ C語言程序編譯成功了,為什麼連接還出錯
1 編譯階段,執行的是對單個文件的轉換,從源代碼轉換成二進制文件。
2 鏈接階段,將每個源文件轉成的二進制文件,及相關的系統庫文件共同打包生成可執行文件。
3 從定義上可以看出,鏈接階段,出現錯誤有兩種可能:
1) 函數中引用了不存在的函數。
2) 編譯環境有問題,導致ld出錯。