gpt4 book ai didi

assembly - 如何在 RISC-V 汇编中使用数组

转载 作者:行者123 更新时间:2023-12-02 14:41:39 26 4
gpt4 key购买 nike

我正在学习 RISC-V 汇编,我需要使用数组来完成我正在解决的练习;问题是我正在使用的模拟器( RARS )给了我一个错误:
/home/username/file_name 第 8 行出错:0x00400010 处运行时异常:地址超出范围 0x000003e8。

这是我到目前为止编写的代码:

.data
arr: .word 1000
e0: .word 5

.text
lw t1, arr # load arr into t1
lw t2, e0 # Load e0 value into t2
sw t2, 0(t1) # save t2 value into arr[0]

我做错了什么?

最佳答案

指令sw t2, 0(t1)存储寄存器t2的内容写入寄存器 t1 提供的内存地址。然而,t1不包含与标签 arr 对应的地址– 值 1000 所在的地址被存储 – 因为 t1由指令lw t1, arr初始化,这会加载 arr 对应的地址的内容进入t1 ,即它加载值 1000进入t1 .

而是替换 lw t1, arr通过la t1, arr ,它确实加载到 t1地址 arr代表。

关于assembly - 如何在 RISC-V 汇编中使用数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59813759/

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