0

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

内存声明为:

point_array:

.align 2
.space 1024

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

4

1 回答 1

1

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

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

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

于 2013-09-26T19:28:00.760 回答