2014-02-17 57 views
0

我正在盡我所能找出爲什麼這段代碼無法運行。 VS express 2010宣佈「無法找到或打開PDB文件」,「myname.exe觸發了斷點」。 任何幫助,請!爲什麼我的代碼不能運行?

; This program computes 5! 
.386 
.model flat 
.stack 4096 
.data 
factorial dword ? 
.Code 
_start: 
mov eax , 5 
mov ebx , 5 
sub ebx , 1 
mul ebx 
sub ebx , 1 
mul ebx 
sub ebx , 1 
mul ebx 
sub ebx , 1 
mul ebx 
mov factorial , eax 
public _start  
end 

回答

0

您的代碼沒有結束。函數結束時沒有返回語句。 end是彙編程序的指令,它不生成任何代碼。彙編程序將用int3指令填充代碼段的其餘部分,如果有人試圖在有效代碼塊外執行代碼,則會激發所述斷點中斷。

要修復你的代碼,最好是圍繞你的函數創建一個棧框架。

相關問題