如何从记忆中复制100个单词



我把学习MIPS作为一种爱好,并使用QtSPIM模拟器。这是我的第一个程序

我在书中的问题:

  1. 编写一个程序,将100个单词从内存中的位置'SRC'复制到内存中另一个名为'DEST'的位置

顺便说一句,我知道循环100次可能是错误的。我还没有计算出那部分。

我只是想知道我的程序是否从src复制比特并将其放入dest。

它至少能做到这一点吗?

请不要透露完整的解决方案,只给我一些提示等。

这是我的尝试(我的第一次编程!(:

.data
src:  .space 400
dest: .space 400
.text
main:
la $t6, src     # t6 = pointer for src
la $t7, dest    # t7 = pointer for dest
li $t0, 100     # t0 = initialise countdown
loop:
lw $t1, ($t6)      # load 32 bits from src
sw $t2, ($t7)      # store bits from src to dest
addi $t6, $t6, 4   # add 4 to pointer to get next 32 bits of src 
addi $t7, $t7, 4   # add 4 to pointer to get next 32 bits of dest
addi $t0, $t0, -1      # countdown minus 1
bgt $t0, $zero, loop   # loop if countdown > 0
jr $ra    # end

您的程序只需加载一个从SRC$t1的值,然后存储一些从$t2DEST的随机值,因此需要进行一些更改。你以前试过调试吗?

lw $t1, ($t6)      # load 32 bits from src
sw $t2, ($t7)      # store bits from src to dest

而且不需要循环100次。您可以进行一些循环展开

最新更新