如何在MIPS中声明数组?C数组转MIPS写法正确性验证
MIPS数组声明正确性验证
你编写的MIPS数组声明写法完全正确,和你给出的C语言int数组初始化逻辑完全匹配。
- C语言中
int A[] = {1,2,3,4,5,6,7,8,9,10}的作用是:在内存中连续分配10个int类型的存储单元,按顺序存储给定的初始化值,数组名A对应这段连续内存的首地址。 - MIPS中你写的
A: .word 1,2,3,4,5,6,7,8,9,10逻辑完全对应:- 标签
A:等价于C中的数组名A,存储该段内存的首地址 .word伪指令用于声明32位长度的字数据,正好匹配绝大多数MIPS编译环境下C语言int类型的32位长度- 后续逗号分隔的10个数值会按顺序连续存储在标签A指向的内存区域,每个值占4字节,和C数组的内存布局完全一致。
- 标签
注意:通常该数组声明需要放在MIPS汇编的
.data数据段之后才能正常生效,完整示例如下:
.data A: .word 1,2,3,4,5,6,7,8,9,10 .text # 此处编写执行逻辑代码
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

