永发信息网

汇编语言中内存操作数的地址计算问题: 内存操作数地址=(相应的段寄存器)*10h + 源操作数 可这样理解吗?

答案:2  悬赏:60  手机版
解决时间 2021-04-06 15:16
  • 提问者网友:人傍凄凉立暮秋
  • 2021-04-06 04:42
汇编语言中内存操作数的地址计算问题: 内存操作数地址=(相应的段寄存器)*10h + 源操作数 可这样理解吗?
最佳答案
  • 五星知识达人网友:往事隔山水
  • 2021-04-06 05:59
在8086存储器系统中,20位地址总线的地址是物理地址。但是由于8086内部寄存器都是16位的,用16位寄存器直接访问20位存储器空间显然不可能,所以8086CPU使用了存储器分段的办法。这样内存一个20位的物理地址就由段地址(16位)和段内偏移地址(16位)组成,合成物理地址的方法是:将段地址的16位值左移4位(相当于乘十进制数16),得到一个20位的值,再加上16位的偏移量即为物理地址。即:
物理地址=段地址×16+偏移地址
16是十进制数,转换成16进制数就是10h,上式也写成:物理地址=段地址×110h+偏移地址追问上式也写成:物理地址=段地址×110h+偏移地址
这个 是不是写错了啊?物理地址=段地址×10h+偏移地址 这样吧?追答你是对的,打字没注意,呵呵,有进步啦
全部回答
  • 1楼网友:青灯有味
  • 2021-04-06 06:39
因为实际上地址都是20位的,转化为十六进制就是5位,但最后一位的0都省略了!!乘以10H就是加个0咯~
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯