Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 MIPS 并编写了一个程序,该程序接受用户整数输入并将值存储在一个数组中,该数组稍后将以特定格式打印出来。
内存声明为:
point_array:
.align 2 .space 1024
我还运行了程序,.align 4并且值以完全相同的方式存储在内存中。我认为我没有完全掌握 2 和 4 的效果.align并想知道为什么将内存与 2 和 4 对齐会产生相同的结果。
.align 4
.align
“对齐”表示下一个地址必须是 2^n 的倍数。“.align”将插入一些虚拟字节来归档它。
示例:如果在地址 0x123400F 处插入“.align 4”指令,则插入一个字节;".align 1" 也会插入一个字节。
但是,如果您在地址 0x1234012 处使用两条指令,则“.align 1”将不执行任何操作,而“.align 4”将插入 14 个字节。