大小端

SH4默认应该是小端模式,但是http://onlinedisassembler.com/odaweb/run_hex上使用的默认值却是大端,这是有问题的

大端:内存顺序读取;

小端:在类型单位大小内,按字节的相反顺序读取


大端模式

所谓的大端模式,是指数据的高位,保存在内存的低地址中,而数据的低位,保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;
例子:
这是通过查看原始的memory得到的数据,不是打印出来的数据: VS-->Debug-->memory-->0x0000430, 如果是打印出来的数据,这已经转换为大端模式了
0000430: e684 6c4e 0100 1800 53ef 0100 0100 0000
0000440: b484 6c4e 004e ed00 0000 0000 0100 0000
在大端模式下,前16位应该这样读: e684
记忆方法: 地址的增长顺序与值的增长顺序相同

小端模式

所谓的小端模式,是指数据的高位保存在内存的高 地址中,而数 据的低位保存在内存的低地址中,这种存储模式将地址的高低和 数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。
例子:
0000430: e684 6c4e 0100 1800 53ef 0100 0100 0000
0000440: b484 6c4e 004e ed00 0000 0000 0100 0000
在小端模式下,前16位应该这样读: 84e6
记忆方法: 地址的增长顺序与值的增长顺序相反

你可能感兴趣的:(大小端)