Assembly 汇编语言-第三个元素指向

Assembly 汇编语言-第三个元素指向,assembly,mips,Assembly,Mips,如果有人能告诉我强列表中的第三个元素是什么,我将不胜感激 这不是HW,我只是在准备 多谢各位 我们的StringList是一个链表。第一个指针指向当前元素的字符串值,第二个指针指向下一个节点。列表的标题位于位置0x000010000: 在0x00001000:value=…,next=0x00003000表示头部元素 在0x00003000:value=…,next=0x00000010 在0x00000010:value=0x4024FFA4时,next=。。。我们的目标元素 位置0x4024

如果有人能告诉我强列表中的第三个元素是什么,我将不胜感激

这不是HW,我只是在准备

多谢各位


我们的StringList是一个链表。第一个指针指向当前元素的字符串值,第二个指针指向下一个节点。列表的标题位于位置0x000010000:

在0x00001000:value=…,next=0x00003000表示头部元素 在0x00003000:value=…,next=0x00000010 在0x00000010:value=0x4024FFA4时,next=。。。我们的目标元素
位置0x4024FFA4处的字符串读取43 4F 4D 50 55 54 45 52 00,当解释为ASCII时,可以将其解码到计算机。请注意,每个地址的字节顺序意味着我们必须从右向左读取字节。

我们的字符串列表是一个链表。第一个指针指向当前元素的字符串值,第二个指针指向下一个节点。列表的标题位于位置0x000010000:

在0x00001000:value=…,next=0x00003000表示头部元素 在0x00003000:value=…,next=0x00000010 在0x00000010:value=0x4024FFA4时,next=。。。我们的目标元素
位置0x4024FFA4处的字符串读取43 4F 4D 50 55 54 45 52 00,当解释为ASCII时,可以将其解码到计算机。请注意,每个地址的字节顺序意味着我们必须从右向左读取字节。

我相信amon已经给出了预期的答案,但我认为,为了完整性起见,我将遵循原始问题中描述的逻辑。同样,我认为问题本身的措辞不正确,这就是原因

Head定义为指向StringList中第一个元素的指针/地址,Head位于地址0x00001000。 因此,定义为指针而非StringList的Head指向0x00238480处的第一个元素FirstElement。 FirstElement.next是第二个元素的地址,位于0x0A00C84C。 SecondElement.next是指向0x415A494E处第三个元素ThirdElement的地址。 然而,从给出的内存映射中,我们看不到地址0x415A494E存储了什么,因此无法回答这个问题。
我相信阿蒙已经给出了预期的答案,但我认为,为了完整起见,我将遵循原始问题中描述的逻辑。同样,我认为问题本身的措辞不正确,这就是原因

Head定义为指向StringList中第一个元素的指针/地址,Head位于地址0x00001000。 因此,定义为指针而非StringList的Head指向0x00238480处的第一个元素FirstElement。 FirstElement.next是第二个元素的地址,位于0x0A00C84C。 SecondElement.next是指向0x415A494E处第三个元素ThirdElement的地址。 然而,从给出的内存映射中,我们看不到地址0x415A494E存储了什么,因此无法回答这个问题。
如果没有显示如何将下面的内存布局解码为如图所示的StringLayout的部分,这有点困难above@KonradLindenbach林登巴赫:对不起,我更新了。请帮助我理解它。@KonradLindenbach你现在看到图像了吗?+1这很难理解,因为一些定义,特别是Head的措词不正确。如果没有显示如何将以下内存布局解码为StringLayout的部分,就很难理解,如图所示above@KonradLindenbach林登巴赫:对不起,我更新了。请帮助我理解它。@KonradLindenbach你现在看到图像了吗?+1这很难理解,因为一些定义,特别是Head的措辞不正确。我同意,但我认为问题本身的措辞是错误的。它说,将变量Head定义为指向StringList中第一个元素的指针,然后请求第三个元素——根据这种推理,您只在第二个元素上。。另外,假设这个系统是little endian,你的字符串是计算机-你有正确的字母,但endian错误。@embedded_guy谢谢,我刚才也看到了我愚蠢的endian错误。然而,我发现的结果可能是正确的——注意记忆图下的答案。+1是的,问题本身的措辞是错误的。根据上面的定义,您只会在末尾得到一个垃圾字符串。假设Head只是一个指针,然后将其指向地址0x00238480作为第一个StringList元素。我同意,但我认为问题本身的措辞是错误的。它说,将变量Head定义为指向StringList中第一个元素的指针,然后请求第三个元素——根据这种推理,您只在第二个元素上。。另外,假设这个系统是little endian,你的字符串是计算机-你有正确的字母,但endian错误。@embedded_guy谢谢,我刚才也看到了我愚蠢的endian错误。然而,我发现的结果可能是正确的——请注意内存图下的答案。+1是的 ,问题本身的措辞是错误的。根据上面的定义,您只会在末尾得到一个垃圾字符串。假设Head只是一个指针,然后将其指向地址0x00238480作为第一个StringList元素。