簡體   English   中英

MIPS BNE 機器碼轉換

[英]MIPS BNE Machine Code Conversion

我試圖將大約 25 行 MIPS 程序從機器代碼轉換為指令。

當我轉換0x1620fff9 ,它會產生以下結果: 000101 10001 00000 1111 1111 1111 1001

我知道這是 I 格式,指令是BNE ,目標寄存器為$17 ,源為$0 ,但是立即數/地址是我感到困惑的。

由於1111 1111 1111 1001是有符號數,其二進制補碼產生-7的結果。 我只是不知道該怎么處理這個結果。 MARS 模擬器需要一個標簽,說明它應該分支到哪里,但我不清楚要做什么。 我正在轉換的程序只有一個主要功能和一個打印功能。

謝謝

所以結果是 MARS 和 QTSpim 處理這些指令的方式不同:

  • MARS 總是從分支指令之后的指令跳轉,這正是流水線機器應該做的;

  • QtSPIM從分支指令跳轉,比較容易理解。

  • MARS下bne指令為0x1620fff8,QtSPIM下為0x1620fff9。

我們的教授對不同的結果做出了讓步,但我認為這可能對將來的某人有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM