【问题标题】:In MIPS, what's the difference between signed addition, unsigned addition, signed subtraction and unsigned subtraction?在 MIPS 中,有符号加法、无符号加法、有符号减法和无符号减法有什么区别?
【发布时间】:2013-10-23 14:28:04
【问题描述】:
add rd, rs, rt
addu rd, rs, rt
sub rd, rs, rt
subu rd, rs, rt

在 MIPS 中,有符号加法、无符号加法、有符号减法和无符号减法有什么区别?如果它们的结果相同,那么分类为使用有符号和无符号方法有什么意义?

【问题讨论】:

  • IMO 指令加法的最糟糕的名称之一,因为加法和减法既不能有符号也不能无符号。只有标志和/或检测机制关心(有符号与无符号溢出等)。 Mips 不使用标志,这使得这个 addu vs add 更加混乱。

标签: assembly mips


【解决方案1】:

u 仅表示它们不会在溢出时捕获。

引自《MIPS32 程序员架构第二卷》:

指令名称中的术语“无符号”是用词不当;此操作是 32 位模运算,不会在溢出时捕获。该指令适用于无符号算术,例如地址算术,或忽略溢出的整数算术环境,例如 C 语言算术。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-19
    • 2016-01-02
    • 2012-04-08
    • 2015-12-05
    • 2023-03-24
    • 2019-03-16
    • 2023-03-14
    • 2012-03-17
    相关资源
    最近更新 更多