计算标签的地址

时间:2011-08-09 17:07:14

标签: architecture mips computer-architecture

我很难解决我的任务。这是它所说的,

  

考虑以下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会给出其他标签的值。还有另一种更好的方法吗?

提前致谢。

1 个答案:

答案 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

顺便说一下,谁用十进制表示法给出内存地址?