作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要将这些十六进制值转换为 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 指令编码非常简单,在每个 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
关于binary - 如何将十六进制值转换为 32 位 MIPS 指令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7629756/
我是一名优秀的程序员,十分优秀!