2011-10-02 155 views
2

我需要將這些十六進制值轉換爲MIPS指令:如何將十六進制值轉換爲32位MIPS指令?

我將它們轉換爲二進制第一,但不知道是否有必要。

Hex: 0x0000 0000 - Binary: 0000 0000 0000 0000 0000 0000 0000 0000 
Hex: 0xAFBF 0000 - Binary: 1010 1111 1011 1111 0000 0000 0000 0000 
Hex: 0x3424 001E - Binary: 0011 0100 0010 0100 0000 0000 0000 0000 

請說明一下過程,以便將來可以做到。

我有這個MIPS reference data sheet

+1

堆棧溢出的目的是通過誰需要你有相同問題的幫助,所以以供將來參考,請包括未來的人使用至少與你的問題有一個半永久性的聯繫,並儘可能地描述鏈接的重要內容。如果與問題相關,也只包含鏈接。 – sonictt1

+0

MIPS參考數據表:https://drive.google.com/file/d/0B--CA_Lm6gBWb2N5MUc3SVBvVkE/view?usp =分享 – jogo

回答

3

的MIPS指令編碼是非常簡單的,它是在每MIPS文件解釋,包括你上面讀入紙。只需獲取操作碼字段並確定是否是R,I或J型指令即可正確獲取其餘參數。如果操作碼是0,那麼它總是R型,在這種情況下,查找功能領域

爲第一條指令0x00000000

6-bit opcodes = 000000: R type 
6-bit funct: 000000 ==> sll 
rs, rd, rt = 0 
==> sll $0, $0, $0 or nop 

第二條指令0xAFBF0000

opcode: 101011 = 0x2B => sw 

最後一個0x3424001E

opcode: 001101 = 0x0D => ori 

如果你使用一些反彙編像ODA你會看到這樣的結果。這

.data:0x00000000 00000000 nop 
.data:0x00000004 afbf0000 sw ra,0(sp) 
.data:0x00000008 3424001e ori a0,at,0x1e 
相關問題