搜索
首页 电脑/网络 软件 系统软件

汇编语言如何去操作?

汇编语言如何去操作?

全部回答

2017-07-26

44 0

    事实上,在实模式中,内存比保护模式中的结构更令人困惑。内存被分割成段,并且,操作内存时,需要指定段和偏移量。不过,理解这些概念是非常容易的事情。请看下面的图: 段-寄存器这种格局是早期硬件电路限制留下的一个伤疤。
  地址总线在当时有20-bit。 然而20-bit的地址不能放到16-bit的寄存器里,这意味着有4-bit必须放到别的地方。  因此,为了访问所有的内存,必须使用两个16-bit寄存器。
   这一设计上的折衷方案导致了今天的段-偏移量格局。最初的设计中,其中一个寄存器只有4-bit有效,然而为了简化程序,两个寄存器都是16-bit有效,并在执行时求出加权和来标识20-bit地址。
   偏移量是16-bit的,因此,一个段是64KB。  下面的图可以帮助你理解20-bit地址是如何形成的: 段-偏移量标识的地址通常记做 段:偏移量 的形式。 由于这样的结构,一个内存有多个对应的地址。
  例如,0000:0010和0001:0000指的是同一内存地址。又如, 0000:1234 = 0123:0004 = 0120:0034 = 0100:0234 0001:1234 = 0124:0004 = 0120:0044 = 0100:0244 作为负面影响之一,在段上加1相当于在偏移量上加16,而不是一个“全新”的段。
    反之,在偏移量上加16也和在段上加1等价。某些时候,据此认为段的“粒度”是16字节。 练习题 尝试一下将下面的地址转化为20bit的地址: 2EA8:D678 26CF:8D5F 453A:CFAD 2933:31A6 5924:DCCF。
  

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
系统软件
程序设计
电脑装机
操作系统/系统故障
硬件
笔记本电脑
百度
互联网
反病毒
软件
软件
系统软件
多媒体软件
办公软件
网络软件
图像处理软件
系统软件
系统软件
举报
举报原因(必选):
取消确定举报