字节序(Byte Ordering)是多字节数据在计算机内存中存储或网络传输时各字节的存储顺序,主要分为两大类,一类是小端序(Little endian),另一类是大端序(Big endian)。
大端序和小端序的不同:
注意一点就是字符串数字的大小端序是一样的。
大部分PE汇编代码里面都是采用小端序的,大端序通常用于大型UNIX服务器的RISC系列的CPU中。此外,网络协议中也经常采用大端序方式。
看下面例子:
左边汇编代码地址是小编,右侧存储位置也是小编存储的。
001816EE A0 00801800 mov al,byte ptr ds:[b]
把00188000这个数字复制到al里面去。00188000地址处存的是12 00 00 00其实也就是00 00 00 12也就是12的意思。
如果是用二进制工具看的话也是这样的eXeScope: