1

我需要在程序集中实现一个自定义数据结构。优选地,它需要是动态的。类似于 C++/Java 中的链表,其中每个元素都指向下一个元素。请注意,每个元素的大小可能会有所不同。

我怎样才能做到这一点?

4

2 回答 2

3

与 C 中的相同。Assembly 具有函数和地址空间。从基础开始:您的堆栈需要具备哪些功能?将实际的数据结构放在一边,专注于全局。

您只需要一个 push() 函数和一个 pop() 函数,一个将这些项目粘贴到内存中的位置,以及一个告诉您已用完多少空间的计数器。

哦,您可能应该在开始之前检查您的数据结构,因为在 C++ 和 Java(或任何其他语言,事实上)中,压入堆栈的对象都不会指向堆栈上的下一个对象。这就是所谓的链表。

于 2011-10-03T02:16:27.700 回答
1

尝试使用 C 实现您的数据结构,然后查看生成的程序集。但是,对于您的内存需求,可能需要一些更仔细的考虑(例如使用非易失性与易失性内存来存储不同大小的元素)。

于 2011-10-03T02:24:01.270 回答