发布网友 发布时间:2022-04-22 05:24
共3个回答
热心网友 时间:2023-07-02 16:11
计算机汇编语言中的偏移量定义为:把存储单元的实际地址与其所在段的段地址之间的距离称为段内偏移,也称为“有效地址或偏移量”。
段地址左移四位,与有效地址相加,就构成了逻辑地址。一般而言,段地址是cpu自己编制的,但是偏移量是程序员编写的。偏移量就是程序的逻辑地址与段首的差值。
在早期的8086中地址线是20位的,而段地址是16位。在十六进制下就是4位。这样一个段寄存器就不能完整的描述出内存的地址。所以就和通用寄存器配用。偏移量存在通用寄存器中,段地址则存在段寄存器中。
扩展资料
偏移量是16-bit的,因此,一个段是KB。偏移量存在通用寄存器中,段地址则存在段寄存器中。而地址首的五位(十六进制下,二十地址线是五位)有个特点,即末尾总是零,所以就取前四位当做段地址。正好是段地址的存储空间大小。
在实模式中,内存比保护模式中的结构更令人困惑。内存被分割成段,并且,操作内存时,需要指定段和偏移量。
段-寄存器这种格局是早期硬件电路*留下的一个伤疤。地址总线在当时有20-bit。然而20-bit的地址不能放到16-bit的寄存器里,这意味着有4-bit必须放到别的地方。因此,为了访问所有的内存,必须使用两个16-bit寄存器。
参考资料来源:百度百科-偏移量
热心网友 时间:2023-07-02 16:11
汇编语言中的定义为:
把存储单元的实际地址与其所在段的段地址之间的距离称为段内偏移,也称为“有效地址或偏移量”。 亦: 存储单元的实际地址与其所在段的段地址之间的距离。本质其实就是“实际地址与其所在段的段地址之间的距离”
更通俗一点讲,内存中存储数据的方式是:一个存储数据的“实际地址”=段首地址+偏移量,
你也可以这样理解:就像我们现实中的“家庭地址”=“小区地址”+“门牌号”
上面的“偏移量”就好比“门牌号”
其实就相当于C++的指针一样啦,指出确切的地址而已……
希望我的解释对你有所帮助……
如果还有不懂的,你可以hi我,我可以跟你聊聊……
热心网友 时间:2023-07-02 16:11
首先有一个地方是起点,然后距离这个起点有多远,这个距离就是偏移量。
最小的距离是一个字节。。
我是这么通俗的理解。。