以下C語言程序段中有兩個函數(shù)sum_array和compare,假定sum_array函數(shù)第一個被調(diào)用,全局變量sum分配在寄存器$s0中。要求寫出每個函數(shù)對應(yīng)的MIPS匯編表示。
說明beq指令的含義,并解釋為什么匯編程序在對下列匯編源程序中的beq指令進(jìn)行匯編時會遇到問題,應(yīng)該如何修改該程序段?
以下程序段是某個過程對應(yīng)的MIPS指令序列,其功能為復(fù)制一個存儲塊數(shù)據(jù)到另一個存儲塊中,存儲塊中每個數(shù)據(jù)的類型為float,源數(shù)據(jù)塊和目的數(shù)據(jù)塊的首地址分別存放在$a0和$a1中,復(fù)制的數(shù)據(jù)個數(shù)存放在$v0中,作為返回參數(shù)返回給調(diào)用過程。在復(fù)制過程中遇到0則停止,最后一個0也需要復(fù)制,但不被計數(shù)。已知程序段中有多個Bug,請找出它們并修改。