Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 结构节点_C_Assembly_Mips - Fatal编程技术网

C 结构节点

C 结构节点,c,assembly,mips,C,Assembly,Mips,以下链表节点在C中声明: struct node {  double val; struct node *next; } ​假设一个问题不需要超过20个链路节点。什么是MIPS语句来为链表保留20个节点空间?您可以在C中这样做,并检查C编译器生成的结果程序集。无论如何 双精度浮点->64位 指针->32位 结构总大小->96位+32位对齐双精度->128位 20个structs+1个head list指针(假设它是一个简单的列表,只有一个指向起始元素的指针)->20 x 128+32=2

以下链表节点在C中声明:

struct node {
  double val;
  struct node *next;
}

​假设一个问题不需要超过20个链路节点。什么是MIPS语句来为链表保留20个节点空间?

您可以在C中这样做,并检查C编译器生成的结果程序集。无论如何

双精度浮点->64位

指针->32位

结构总大小->96位+32位对齐双精度->128位

20个structs+1个head list指针(假设它是一个简单的列表,只有一个指向起始元素的指针)->20 x 128+32=2592位

.space 2592

与您的其他问题一样,请使用您尝试过的内容编辑此问题。每个结构可能还有32位,以确保64位双精度在64位边界上对齐,因此每个结构将有128位。我认为这取决于我们谈论的MIPS版本,但是的,您是对的。