2-11 条件存数与链接取数

again: addi $t0, $zero, 1
  ll  $t1, 0( $s1 )
  sc  $t0, 0( $s1 )
  beq $t0, $zero, again
  add $s4, $zero, $t1

假设

1.t0=1
2.返回s1的值“hello”
有操作修改了s1为“goodbye”
3.因为期间有操作修改了s1,所以sc执行失败t0=0
4.因为t0=0,所以又执行回第一行

1.t0从0变为1
2.返回s1的值“goodbye”
无操作修改s1的值
3.sc执行成功t0=1
4.跳过beq
5.把“goodbye”放到s4

你可能感兴趣的:(2-11 条件存数与链接取数)