我很新汇编语言。我正在阅读关于MIPS体系结构和我坚持寄存器格式(R格式)的最后一个字段。这里是它的视觉表示, 任何人都可以请帮我一起第六场意味着什么我们如何计算它? 在此先感谢。func在R-Format指令集中意味着什么?
9
A
回答
7
作为描述中提到的所有R型指令(例如ADD
,AND
,SLL
及其它)具有设置为0的6个最显著位(= OP),这意味着对它们进行区分之间是唯一的方式看看6个最低有效位(= funct)。换句话说,他们决定了指令类型。也许一个例子会有所帮助。
ADD $1, $2, $3
具有:
op = 0 (as all R-type instructions)
rs = 2
rt = 3
rd = 1
shamt = 0
funct = 0x20 = 0b00000100000 = 32
的编码因而将:
0000 0000 0100 0011 0000 1000 0010 0000
对于例如XOR
(另一种R型)指令功能是0b100110 = 0x26 = 38
。所以你通过查找你想要编码的指令来“计算”它。
1
从下表:
http://en.wikibooks.org/wiki/MIPS_Assembly/Instruction_Formats#Opcodes
几乎所有的R型指令的操作码是00,所以本功能选择ALU的功能。
功能该 对于共享的操作码的指令,所述参数本功能 包含必要的控制代码来区别不同 指令。 6位长(0到5)。例如:操作码0x00访问 ALU,该功能选择使用哪个ALU功能。
+0
:谢谢你的回答。 –
相关问题
- 1. 在npm命令中意味着什么?
- 2. opcode2在MRC指令中意味着什么大小.LITTLE
- 3. “锁”指令在x86汇编中意味着什么?
- 4. 这在C中意味着什么? AB-> CD-> Func(param)
- 5. 在AngularJS中结尾意味着什么double意味着
- 6. 什么%*%意味着R中
- 7. 什么呢##意味着在$ {}
- 8. 什么===在PHP意味着
- 9. 什么。意味着在PHP?
- 10. Rails路由中的“mount”指令意味着什么?
- 11. jquery是什么命令意味着$()
- 12. 〜=是什么。在Stata意味着什么?
- 13. 什么逗号分开托架mov指令意味着
- 14. “可重复使用”对角度指令意味着什么?
- 15. void **意味着什么
- 16. PREEMPTIVE_XE_DISPATCHER这意味着什么?
- 17. Field.Index.NOT_ANALYZED_NO_NORMS意味着什么
- 18. HttpServletResponse.SC_BAD_REQUEST意味着什么?
- 19. Solr意味着什么?
- 20. 溢出意味着什么?
- 21. * | *这意味着什么CSS?
- 22. 什么<?意味着
- 23. %是什么〜DP0意味着
- 24. 什么-Dauto意味着
- 25. AccountExpirationDate意味着什么?
- 26. 这是&意味着什么?
- 27. 什么?意味着iOS的
- 28. $这意味着什么PHP?
- 29. 什么呢JDBC:HSQLDB:hsqlTempFiles意味着
- 30. 奎因意味着什么?
你能解释一下你是如何获得func = 0x20的? –
@JustAnotherProgrammer:我查了一下表(像arsane [linked](http://en.wikibooks.org/wiki/MIPS_Assembly/Instruction_Formats#Opcodes)to)。 'add'的功能是'0x20'。 – user786653
感谢您的帮助:) –