据我所知,该指令中的分支是第一行,可以表示为十六进制值" 10b8ffff"。但显然这不是正确的答案。
或
以下是MIPS代码:
beq $5, $24, L1
slli $8, $7, 2
add $8, $8, $15
lw $8, 0($8)
sw $8, 0($23)
L1: addi $7, $7, 1
答案 0 :(得分:2)
第一部分0x10b8
似乎是正确的。我相信问题是你如何到达0xFFFF的偏移量。请从指令参考中注意这一点,beq $s, $t, offset
:
如果$ s == $ t advance_pc(offset<< 2));否则advance_pc(4);
你说L1
只有5个指令,偏移量为0xFFFF,然后左移两次以确定正确的位置。由于这看起来"任务",我将留给你根据指令大小找出正确的值。