在MIPS中将ASCII字符值注册为操作数的指令

时间:2014-04-04 14:06:42

标签: mips

我在MIPS中了解到 对于无符号和有符号数字(例如lbulb),操作相同。

并且还了解到使用ASCII字符操作时无符号操作非常有用。 例如使用lbu代替lb

但我不确定为什么。 如果$s0的值为'0',则字符的十六进制值为0x30, 那么以下两条指令是不是有相同的结果呢?如果不是,请你解释一下为什么?

lb $t1, $s0

lbu $t1, $s0

另外,添加或减去两个ASCII字符值寄存器的操作也是操作数也需要无符号操作? (add / subaddu / subu

谢谢!

1 个答案:

答案 0 :(得分:2)

1)使用lb和lbu,当字节的MSB为0时,你会得到相同的结果,但是如果它是1,则lb将使用' 1填充剩余的3个字节,而lbu将填写' 0&#39>

2)除溢出检测外,add / sub(u)没有区别

欢迎你!

相关问题