我有一个MIPS程序,其中我需要获取存储在某个地址的存储器中的单词中各个位的状态。怎么能得到这个?
要进行clerify - 我在内存中有一个单词,其对象存储在寄存器$t0
中,并且该单词存储在寄存器$s0
中。如何遍历每个位并获得其状态?
现在看起来像这样:
.data
num: .WORD 481516
.text
la $t0, num
lw $s0, 0($t0)
(我最终需要知道这个词中有多少位是1,有多少是0)。
答案 0 :(得分:0)
考虑以下伪代码:
count = 0
while ($s0 > 0) {
count += $s0 & 1
$s0 = $s0 >> 1
}