【问题标题】:MARS MIPS Bit Shifting using SRA使用 SRA 的 MARS MIPS 位移
【发布时间】:2019-11-22 12:13:12
【问题描述】:

因此,当使用 SRA 将 -34 移动 2 位时,我使用下面的代码得到 -9 的输出。我不知道为什么它给了我-9而不是另一个数字

addi $t0, $zero, -34
sra $s0, $t0, 2
addi $v0, $zero, 4
la $a0, result1
syscall
addi $v0, $zero, 1
move $a0, $s0
syscall

【问题讨论】:

标签: assembly mips bit-shift twos-complement


【解决方案1】:

-34 在(二进制补码)二进制是:

11111111 11111111 11111111 11011110
^                                 ^
bit 31                            bit 0

算术右移 2 位,你得到:

11111111 11111111 11111111 11110111

这是-9

【讨论】:

    猜你喜欢
    • 2013-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多