关于汇编偏移量的一些问题 高手请进
关于汇编偏移量的一些问题高手请进我看IT播吧的汇编教程说,CPU有20根地址总线跟内存相连,但是CPU一次只能寻16个字节。问题就出来了,请问实际内存地址=段地址X16+...
关于汇编偏移量的一些问题 高手请进
我看IT播吧的汇编教程说,CPU有20根地址总线跟内存相连,但是CPU一次只能寻16个字节。
问题就出来了,请问 实际内存地址=段地址X16+偏移量 请问段地址与“CPU有20根地址总线跟内存相连,但是CPU一次只能寻16个字节。”这句话有什么关系?
段地址X16 是什么意思? 为什么要X16?
我的理解是这样的。 CPU寻址一次只能寻16个。所以要分两次寻 一个寄存器放16字节 另外一个寄存器放4个字节 我就只能理解到这里了。
希望有能看出问题的关键的人 来回答下。。 展开
我看IT播吧的汇编教程说,CPU有20根地址总线跟内存相连,但是CPU一次只能寻16个字节。
问题就出来了,请问 实际内存地址=段地址X16+偏移量 请问段地址与“CPU有20根地址总线跟内存相连,但是CPU一次只能寻16个字节。”这句话有什么关系?
段地址X16 是什么意思? 为什么要X16?
我的理解是这样的。 CPU寻址一次只能寻16个。所以要分两次寻 一个寄存器放16字节 另外一个寄存器放4个字节 我就只能理解到这里了。
希望有能看出问题的关键的人 来回答下。。 展开
展开全部
1、CPU有20根外部总线,最大可寻址2的20次方,就是1MB的内存地址。
2、16位CPU最大寻址为2的16次方,就是经常说的64KB。
3、1M是1024*1024,一个16位寄存器存储不下,所以分成两个寄存器存储。
两个寄存器的数据怎么组合呢?标准就是前面一个寄存器的值左移四位+另一个寄存器的值
左移4位就相当于乘以16.
4、这里面于是就对应了段寄存器和偏移寄存器的概念。
5、“一次只能寻16个字节”的意思是,一个地址可以存放一个字节的数据,偏移地址是4位,所以只能寻址2的4次方的地址,最终导致一次只能跨越寻16个字节的地址。
6、这种说法是基于内存的角度,而不是基于CPU的角度,特别容易导致初学者混淆。
2、16位CPU最大寻址为2的16次方,就是经常说的64KB。
3、1M是1024*1024,一个16位寄存器存储不下,所以分成两个寄存器存储。
两个寄存器的数据怎么组合呢?标准就是前面一个寄存器的值左移四位+另一个寄存器的值
左移4位就相当于乘以16.
4、这里面于是就对应了段寄存器和偏移寄存器的概念。
5、“一次只能寻16个字节”的意思是,一个地址可以存放一个字节的数据,偏移地址是4位,所以只能寻址2的4次方的地址,最终导致一次只能跨越寻16个字节的地址。
6、这种说法是基于内存的角度,而不是基于CPU的角度,特别容易导致初学者混淆。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询