我學習MIPS 32位彙編在NIOS II IDE,我已經得到了倍增存儲在R4和R5兩個數字一個完整的工作子程序,並返回結果中R2:如何調用這個子程序?
.global muladd # makes label "main" globally known
.text # Instructions follow
.align 2 # Align instructions to 4-byte words
muladd:
movi r2, 0 # total = 0
movi r8, 0 # i = 0
L1: # if(i >= a) goto L2
bge r8, r4, L2 # a i r4
# total = total + b
add r2, r2, r5 # öka b med r5
addi r8, r8, 1 # i = i + 1
br L1 # goto L1
L2: # return(total)
ret
我怎樣才能調用子程序並從中打印出來,以確保它按預期工作?這是我的第一個子程序,之前我從來沒有調用子程序,所以如果我不能馬上理解所有的東西,請原諒我。
環境????彙編? – perilbrain
@An ymous謝謝您的評論。我已經用更多關於環境和彙編程序的信息更新了這個問題。它的Altera DE2開發板採用32位MIPS,我使用的IDE稱爲Nios II,它也是使用的處理器的名稱。如果您喜歡,請提出更多問題。 –
永遠不要面對這樣的環境,但如果它正在生產精靈然後使用[int 0x80](http://asm.sourceforge.net/articles/linasm.html)。還要調用一個例程必須有一個'call'指令或一個'跳轉'指令。 – perilbrain