繁体   English   中英

使用 SRA 的 MARS MIPS 位移

[英]MARS MIPS Bit Shifting using SRA

因此,当使用 SRA 将 -34 移动 2 位时,我使用下面的代码得到 -9 的 output。 我不知道为什么它给了我-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

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

11111111 11111111 11111111 11011110
^                                 ^
bit 31                            bit 0

在算术上向右移动 2 位,你得到:

11111111 11111111 11111111 11110111

这是-9

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM