栈的方向
在X86中栈的扩展是从高地址到低地址的。
代码语言:javascript复制高地址-> 4003
4002
4001
低地址-> 4000
阅读方向
人类按从左到右,会先读出一个数的高位再读出低位。而计算时先计算低位更方便。故而计算机使用小端序与人类的阅读顺序相反。
小端序
小端的低地址存低位。
比如0x12345678
,高位是12
,低位是78
。在栈中的表示是
高地址-> 4003 12
4002 34
4001 56
低地址-> 4000 78
从上往下读是符合人的阅读习惯的。
这对高级语言编程没有什么影响,但如果从汇编的层次来看代码,则可能发现汇编中的一些数是“反”过来的。