我正在参加这个课程,并且我非常努力地理解指令.align
的概念。了解装配MIPS .ALIGN和内存寻址
下面是一个例子,这是我无法理解:
我知道数据段里面,有地址,从0x10010000,0x10010020等。
而且我知道,每个地址里面有8个存储区,每个存储区有32位。
现在,我不明白的是,如何以及为什么var2
里面的地址是0x10010010? str1
位于地址0x10010003之内,因为我们为var1
保留了3位。
最后一件事是,指令.align' doing? when I tested it in Mars4, it only shifted the data into the next memory field when I used
究竟是对齐3`还是以上,但我真的不明白。
对不起,如果这是非常混乱的家伙,我有点绝望在这里。
正在打电话给我的答案,而没有...你的本来就不需要另一个。 – gnometorule
谢谢大家的回答!问题:0x10010010是4的倍数? – Sobiaholic
0x10010010 = 2^28 + 2^16 + 2^4,这是4的倍数。如果计算对您没有意义,请再次阅读十六进制数字。 – gnometorule