gpt4 book ai didi

c - 将带有数组的C代码转换为MIPS汇编

转载 作者:行者123 更新时间:2023-11-30 18:09:57 31 4
gpt4 key购买 nike

我对MIPS组装非常陌生,并希望确保在掌握自己之前掌握基础知识。为我提供了以下参数和代码以供使用:

编写与下面的伪代码相对应的MIPS汇编代码。假定整数i的地址为基地址+4,而a [0]的地址为基地址+8。假定基地址存储在$ gp中。代码将i初始化为0;然后从i = 0迭代到i = 4,在每次迭代中设置a [i] = 8i。为了使您的代码高效,我必须首先将其加载到寄存器中,并且只有在完成for循环之后,才必须在内存中对其进行更新

for (i=0; i<5; i++)
a[i] = 8*i;


关于MIPS的外观,这是我的最佳猜测

lw $s0 4($gp)
addi $t0 $gp 8
lw $s1 $t0
Loop:
bge $s0 4 Exit
lw $s1 $t0
mul $s1 8 $s0
addi $s0 $s0 1
addi $t0 $t0 4
j Loop
Exit:


如果有我做错的概念或方法,任何帮助都将是非常有用的

最佳答案

程序集将如下所示:

li      $3,8                        
sw $3,4($4)
li $3,16
sw $3,8($4)
li $3,24
sw $3,12($4)
li $3,32
sw $0,0($4)
j $31
sw $3,16($4)

关于c - 将带有数组的C代码转换为MIPS汇编,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59914979/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com