我的词条 之 偏移量

计算机 汇编语言中的偏移量定义为:把 存储单元实际地址与其所在段的 段地址之间的距离称为段内偏移,也称为“ 有效地址或偏移量”。
中文名
偏移量
外文名
Offset
段地址左移四位,与 有效地址相加,就构成了 逻辑地址。一般而言, 段地址是cpu自己独立编制的,但是偏移量是程序员编写的。偏移量就是程序的 逻辑地址与段首的差值。
在早期的8086中 地址线是20位的,而 段地址是16位。在十六进制下就是4位。这样一个 段寄存器就不能完整的描述出内存的地址。所以就和 通用寄存器配用。偏移量存在 通用寄存器中, 段地址则存在 段寄存器中。而地址首的五位(十六进制下,二十 地址线是五位)有个特点,即末尾总是零,所以就取前四位当做 段地址。正好是 段地址的存储空间大小。所以在上图中,按照地址存储时的分法,倒过来组合,即左移四位(二进制下,十六进制是一位。),比如 段地址为1001H(H十六进制之意),左移一位(乘以16),即补零变为10010H,假设 偏移地址是1010H,则实际物理地址就是11100H了。形象来说, 段地址是头,偏移量是实际位置相对头的位置。
实模式中,内存比 保护模式中的结构更令人困惑。内存被分割成段,并且,操作内存时,需要指定段和偏移量。
段- 寄存器这种格局是早期硬件电路限制留下的一个伤疤。 地址总线在当时有20-bit。然而20-bit的地址不能放到16-bit的 寄存器里,这意味着有4-bit必须放到别的地方。因此,为了访问所有的内存,必须使用两个16-bit 寄存器
这一设计上的折衷方案导致了今天的段-偏移量格局。最初的设计中,其中一个 寄存器只有4-bit有效,然而为了简化程序,两个寄存器都是16-bit有效,并在执行时求出加权和来标识20-bit地址。
偏移量是16-bit的,因此,一个段是64KB。下面的图可以帮助理解20-bit地址是如何形成的:
段-偏移量标识的地址通常记做 段:偏移量 的形式。
例如: 线切割工艺中,计算钼丝偏移量,即钼丝的直径.
词条标签:
中国通信学会
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值