我很难解决我的任务。这是它所说的,
考虑以下MIPS汇编语言代码片段:
start: add $t1, $t2, $t3
addi $t1, $t1, 10
add $t4, $t2, $t2
add $t6, $t3, $t3
beq $t1, $t4, q_final
middle: add $t1, $0, $0
bne $t6, $t4, s_final
add $t7, $t7, $t7
j final
q_final: slt $t1, $t4, $t6
s_final: add $t7, $t7, $t1
final: jr $ra
a)如果标签开头的值为100(所有数字均为十进制数 符号),标签mid,q_final指定的地址是什么 最后? 我对如何继续感到困惑。我当时认为在每个语句中添加4会给出其他标签的值。还有另一种更好的方法吗?
提前致谢。
答案 0 :(得分:2)
我对如何继续感到困惑。我在考虑增加4来 每个语句都会给出其他标签的值。在那儿 另一种更好的方法吗?
更简单更好(mips!)。如果每条指令占用4个字节,那就更加安全了。
100: add $t1, $t2, $t3
104: addi $t1, $t1, 10
108: add $t4, $t2, $t2
112: add $t6, $t3, $t3
116: beq $t1, $t4, 132
120: add $t1, $0, $0
124: bne $t6, $t4, 136
128: add $t7, $t7, $t7
132: slt $t1, $t4, $t6
136: add $t7, $t7, $t1
140: jr $ra
顺便说一下,谁用十进制表示法给出内存地址?