我必须制作一个程序,用键盘输入30个整数来填充数组。然后用户键入' c'将数组复制到另一个array.i已完成第一步但我无法将数组复制到另一个。
这是我的代码
public void colorChanger(View v)
{
Button changeBut = (Button) findViewById(R.id.button2);
changeBut.setBackgroundResource(R.drawable.yellowbut);
changeBut.isClickable();
}
答案 0 :(得分:0)
最原始的方法是
la $t1, dst_array
la $t3, src_array
addu $t0, $t3, 30*4 # setup a 'ceiling'
copy_loop:
lw $at, 0($t3)
sw $at, 0($t1)
addu $t1, $t1, 4
addu $t3, $t3, 4
blt $t1, $t0, copy_loop # if load pointer < src_array + 30*4
但是,MIPS的某些实现不使用转发,因此您必须等到写回$at
。为此目的,可能有一个摊位(你可以摆脱它)
subu $t1, $t1, 4
copy_loop:
lw $at, 0($t3)
addu $t1, $t1, 4
addu $t3, $t3, 4
sw $at, 0($t1)
或负载延迟槽,通常需要1个周期,使其成为
copy_loop:
lw $at, 0($t3)
addu $t1, $t1, 4
sw $at, 0($t1)
addu $t3, $t3, 4
一般来说,这取决于:)