作者Nessa1103 (紫藤茁壯中)
看板ASM
標題[問題] 組譯錯誤訊息看不太懂
時間Sun Nov 30 11:49:10 2008
以下是我的程式,使用MASM和Visual C++撰寫。組譯錯誤訊息說我沒有定義Fbnc
這個符號(error A2006: undefined symbol : Fbnc),可是我明明在下面定義了
啊?請問我該怎麼修改比較好?
TITLE Fibonacci (Fbnc.asm)
INCLUDE Irvine32.inc
.data
tip BYTE "How much Fibonacci do you want?",0
tmp DWORD ?
.code
main PROC
call Clrscr
mov edx,OFFSET tip
call WriteString
call ReadDec
mov tmp, eax ; tmp = eax
INVOKE Fbnc, tmp
main ENDP
Fbnc PROC USES eax ,N:DWORD ; p.301
LOCAL fbnc2:DWORD
push ebp
.IF N > 2
INVOKE Fbnc, N-1
mov fbnc2, eax
INVOKE Fbnc, N-2
add eax, fbnc2 ; Fbnc(N) = Fbnc(N-1) + Fbnc(N-2)
call WriteDec
.ELSE
mov fbnc2, 1
mov eax, fbnc2
call WriteDec
.ENDIF
pop ebp
ret 4
Fbnc ENDP
exit
END main
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.193.157.37
1F:推 R119:把函式宣告在使用之前試試看 11/30 12:18
2F:→ Nessa1103:組譯過了,可是...爆掉了ˊˋ 11/30 13:59
3F:→ R119:把ret 4 的4去掉看看 11/30 19:42
4F:→ Nessa1103:只會輸出1,而且print次數多到我不敢算...我才輸入1啊囧 11/30 20:22