什么是段地址在8086cpu中?
发布网友
发布时间:2022-08-09 07:44
我来回答
共3个回答
热心网友
时间:2024-11-23 10:57
什么是段地址?
你可以这样理解:段地址就是一个起始地址!
偏移地址,则是相对于起始地址的偏移量。例:从1到8,如果起始是1,则到5就是偏移量为5;如果起始是3,则到5偏移量是3。
由于物理地址是20位的二进制,而段地址是16位的,所以必先乘以16,再加上偏移地址,才能得到真正的物理地址。
热心网友
时间:2024-11-23 10:58
本质意义是8086的寄存器位数不够用
但在汇编中这种"段"+偏移的寻址方式还是比较常用的,以后的CPU虽然寄存器的位数够用了,但基址+偏移的寻址方式还是有的
热心网友
时间:2024-11-23 10:58
由于8086cpu设计的原因产生的问题。
如果能直接给出物理地址岂不是不跟好。所以采用了这个折中的办法
先找到段地址,即在物理内存中的起始地址,在通过偏移地址定位到真实的物理地址
即
段地址*16+偏移地址=物理地址
比如0到3000米是总长度,那就可以表示为0-2000-3000,0到2000就是段地址,2000到3000就是偏移地址。
为什么要*16,由于8086cpu是16位处理器,但是他有20位地址总线,为了解决这个不同步的情况,采用了用两个16位地址来合成一个20位的物理地址,通过一个地址加法器来进行合成。说的不好,看看汇编语言地二版吧