今天調試程序,發現在windows和Linux下,diab編譯的結果不一樣,一個能跑一個不能跑。最后定位到了函數跳轉上。
程序代碼里的函數跳轉寫的是BAL,在windows下編譯結果正常,在Linux下不正常。
在Linux下,把跳轉指令改成了JAL,程序執行就對了。
從網上找了找相關資料,有說看See Mips Run的。在里面找到了一句話:“跳轉調用指令,即JAL,注意不是BAL,后者屬於分支調用。“
可以看出來,如果跳函數的話,還是要用JAL比較對。
今天調試程序,發現在windows和Linux下,diab編譯的結果不一樣,一個能跑一個不能跑。最后定位到了函數跳轉上。
程序代碼里的函數跳轉寫的是BAL,在windows下編譯結果正常,在Linux下不正常。
在Linux下,把跳轉指令改成了JAL,程序執行就對了。
從網上找了找相關資料,有說看See Mips Run的。在里面找到了一句話:“跳轉調用指令,即JAL,注意不是BAL,后者屬於分支調用。“
可以看出來,如果跳函數的話,還是要用JAL比較對。
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。