首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MIPS中使用带有链表的syscall 9

在MIPS中使用带有链表的syscall 9
EN

Stack Overflow用户
提问于 2016-11-30 22:30:50
回答 1查看 1.3K关注 0票数 2

我试图在MIPS中实现一个链接列表,我还需要为它分配内存。在我看到的每一个例子中,他们都假设列表中的第一个元素在特定的寄存器上,但是他们并没有实际地解释如何做到这一点。

我试过这样做,但是上面写着“在word边界0x10040319上没有对齐的存储地址”。

代码语言:javascript
复制
# Allocate memory with syscall 9
li $v0, 9
addi $a0, $zero, 8  # Reserve 8 bytes, 4 for int data, 4 for pointer to next
syscall
# Make $t0 point to the beginning of the reserved memory?
add $t0, $v0, $zero
# Create linked list node
addi $t1, $zero, 10   # $t1 has the int data
sw $t1, 0($t0)      # $t1 is now node->data
sw $zero, 4($t0)      # node->next is NULL

所以我有两个问题,但它们是相互关联的。一个是如何正确地使用syscall 9分配内存,另一个是如何引用它,以便可以在链接列表中使用它(实际上,我需要使用链接列表实现排序算法,因为我需要能够对任意数量的元素(不是固定数目)进行排序,这是步骤-1哈哈)。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-01 00:16:05

天啊,显然是他们上传的模拟器。我从官方网站上下载了最新版本的火星MIPS,它起了作用。这太尴尬了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40899453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档