gpt4 book ai didi

c - mips 字符串副本 : error in spim

转载 作者:太空宇宙 更新时间:2023-11-04 04:17:56 25 4
gpt4 key购买 nike

Q1。在我的类(class)ppt中,写了代码,但是MIPS代码在SPIM中不起作用。如何修改 MIPS 代码?

Q2。假设 x 和 y 的地址分别为 100 和 200,并且 i = 10 和 sp = 500。如何使用该 MIPS 源代码修改 MIPS 代码?

//strcpy C代码

void strcpy (char x[], char y[]) 
{
int i;
i = 0;

while ((x[i]=y[i])!='\0')
i += 1;
}

//strcpy MIPS代码

.data

Array: .space 10

.text

strcpy:
addi $sp, $sp, -4
sw $s0, 0($sp)
add $s0, $zero, $zero

L1:
add $t1, $s0, $a1
lbu $t2, 0($t1)
add $t3, $s0, $a0
sb $t2, 0($t3)
beq $t2, $zero, L2
addi $s0, $s0, 1
j L1

L2:
lw $s0, 0($sp)
addi $sp, $sp, 4
jr $ra

最佳答案

你未定义“主要”符号,你应该为 strcpy 传递参数。

例如:

main:
la $a0, str1 # first args
la $a1, str2 # second args
jal strcpy # jump and save return address

li $v0, 4 # print_string
add $a0, $a0, $zero
syscall

li $v0, 4
add $a0, $a1, $zero
syscall

li $v0, 10 # exit program

关于c - mips 字符串副本 : error in spim,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49704400/

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