彙編跳轉指令的小錯誤

2021-09-30 03:55:08 字數 623 閱讀 8354

/*本函式作用為取輸入引數的絕對值*/

leaf_entry(func)

.set noreorder

bltz    a0,1f                #本意為,如果引數1 a0 小於零即跳轉到1標誌處,並執行下面的語句,把a0取反

subu  a0,zero,a0       #如果a0大於等於0,則這一句指令不會執行,直接返回正數

1: jr        ra

or       v0,a0,zero

.set reorder

.end func  

結果發生錯誤。 輸入引數如果是負的,返回的結果也是負的。 因為無論是否發生跳轉都會執行取反那乙個驟。

修改後的**:

leaf_entry(func)

.set noreorder

bltzl    a0,1f                #使用可能跳轉指令,若該判斷不成立,即跳轉沒有實際發生時,取反指令不會被執行

subu  a0,zero,a0       #如果a0小0,則取反

1: jr        ra

or       v0,a0,zero

.set reorder

.end func  

彙編小錯誤集

1.end of file not at end of a line newline inserted as編譯.s檔案時.英文的意思就是說文末沒有換行符。unix文件的回車換行符是乙個字元 n,windows的是分別的兩個 n r,解決方法 在檔案結尾回車一下.2.invalid instruct...

系統小錯誤

今天又完成乙個窗體,充值窗體。有乙個小錯誤困擾了我很久,充值後顯示的是一行,嘗試了好多辦法。我的 是這樣的 txtshow.text 充 值 卡 號 trim txtcardno.text vbcrlf 上 次 餘 額 lastcash vbcrlf 最 新 餘 額 necash vbcrlf 充 ...

SpringMVC 配置小錯誤

在搭建乙個springmvc的開發環境過程中,出現乙個小小的錯誤配置,在訪問的時候出現了乙個404的錯誤,在網上查了很多方法都沒有解決,最後發現是在配置web.xml 的過程中有點小小的錯誤。我簡單的記錄一下這個錯誤,共勉之。org.springframework.web.servlet.dispa...