我们可以假设内存表就是一张纸。当我输入一个数据的时候,软件就会为我们在内存中开辟一个地址,以往内存表中存放数据,如这里就是往这个地址开始写入数据:0040339C。
我们对内存表的高位和低位的理解就可以想做这里就是一张白纸。我们把每个空格都当作一个位置,从0~1000开始计数,写在最前的就是低位,比如说写四个数,从0~3。GAME数据的低位到高位就是从G到E。
之后呢,我们从内存表中取数据,放入寄存器中,我们可以把寄存器比做一个水桶,我们放入数据的时候肯定是把"水"先倒到水筒的底部。
如我们从内存中取GAME放入到水桶中的话 水桶中存放的数据就成了EMAG ,也就是 45 4D 41 47 (注意每个字节是两个16进制的字符)
而水桶的高位和地位呢,想必大家会很明白,水桶的最上方就是高位,水桶底就是低位,所以EMAG 数据的高低位就是 E~G(E为最高位 G为最低位)
这样大家就清楚高高低低原则了 (低位用D表示,高位用G表示)
D G G D
如果把内存地址的数据 01 02 03 04 放到寄存器就是 04 03 02 01
G D D G
如果把寄存器的数据 04 03 02 01 放到内存地址为 01 02 03 04
数据的传递中,是遵循高高低低原则的,相信大家按照这个思路去理解,会更简单些~~
时间: 2024-11-05 17:21:55