如何前进到MIPS 32中的下一个节点?

如何前进到MIPS 32中的下一个节点?,mips,mips32,Mips,Mips32,我有这个功能: makenode: li $v0, 9 #allocate memory li $a0, 8 #8 bytes syscall #$v0 <---- address move $s1, $v0 #$s1 = address of first node sw $t4, 0($s1) #$t4

我有这个功能:

makenode:
    li $v0, 9                 #allocate memory
    li $a0, 8                 #8 bytes
    syscall                   #$v0 <---- address
    move $s1, $v0             #$s1 = address of first node
    sw $t4, 0($s1)            #$t4 is a string
    sw $s2, 4($s1)            #copy address of 2nd node
                              #into first node
makenode:
li$v0,9#分配内存
li$a0,8#8字节

syscall#$v0您所说的
$2
是什么?为什么您认为它还没有被创建?它应该是下一个节点,mym的问题是,在创建实际节点之前,我可以指向该地址吗?由于对函数的下一次调用将创建实际节点,只要寄存器包含新节点的地址,您就可以自由地传递它,只需知道,显然,如果您试图在地址有效之前使用该地址,您可能会
segfault
也可能有指向下一个节点的指针?假设我有$s1,但我希望它指向$s2,函数的下一个调用将在这个位置创建一个节点(现在是$s1)。所以这个函数调用可以在lopp中工作。