MIPS .align#给出不同数字的相同结果

时间:2013-09-26 19:16:14

标签: assembly mips

我正在使用MIPS并编写了一个程序,该程序接受用户整数输入并将值存储在一个数组中,该数组稍后将以特定格式打印出来。

内存声明为:

point_array:

.align 2
.space 1024

我还使用.align 4运行程序,并以完全相同的方式将值存储在内存中。我不认为我完全掌握.align的效果,并且想知道为什么将内存与2和4对齐会产生相同的结果。

1 个答案:

答案 0 :(得分:1)

“对齐”表示下一个地址必须是2 ^ n的倍数。 “.align”将插入一些虚拟字节来实现此目的。

示例:如果在地址0x123400F处插入“.align 4”指令,则插入一个字节; “.align 1”也会插入一个字节。

但是,如果您使用地址0x1234012处的两条指令,则“.align 1”将不执行任何操作,而“.align 4”将插入14个字节。