8086段地址为什么是16的倍数?
2012-06-30 12:06
776 查看
CPU访问内存单元时,要给出内存单元的地址。所有内存单元构成的存储空间是一个一维的线性空间,每一个内存单元在这个空间中都有唯一的地址,这个地址就是所谓的物理地址。
物理地址就是数据在内存中实际存放的位置,8086有20根地址线,这决定了物理地址的位数;16根数据线决定了8086的寄存器只有16位,即段寄存器和通用寄存器都是16位的,所以,段地址和偏移量也都是16位。计算机中所有信息都是以二进制的形式存储的,当要合成20位的物理地址时,地址加法器将以二进制形式存放的段地址左移4位(段地址
* 16),变成20位,然后再加上16位的偏移地址,得到最后20位的物理地址
段地址是针对内存的分段而言的,将每一段的段首地址定义为段地址.段地址的存在是由系统的分段存储决定的,通过段地址和偏移地址就能对数据进行寻访.段地址 * 16必然是16的倍数,所以一个段的其实地址也一定是16的倍数。
物理地址就是数据在内存中实际存放的位置,8086有20根地址线,这决定了物理地址的位数;16根数据线决定了8086的寄存器只有16位,即段寄存器和通用寄存器都是16位的,所以,段地址和偏移量也都是16位。计算机中所有信息都是以二进制的形式存储的,当要合成20位的物理地址时,地址加法器将以二进制形式存放的段地址左移4位(段地址
* 16),变成20位,然后再加上16位的偏移地址,得到最后20位的物理地址
段地址是针对内存的分段而言的,将每一段的段首地址定义为段地址.段地址的存在是由系统的分段存储决定的,通过段地址和偏移地址就能对数据进行寻访.段地址 * 16必然是16的倍数,所以一个段的其实地址也一定是16的倍数。
相关文章推荐
- 8086 cpu为什么要把段地址*16+偏移量形成物理地址呢?
- 80x86为什么要求数据段的起始地址必须为16的倍数?
- STP中,交换机的端口ID为什么要配置为16的倍数?
- 汇编语言的段地址与偏移地址的一点小心得:8086CPU是为了方便存储段地址才规定其一定是10H的倍数的
- 为什么实模式下段基地址肯定是16的倍数?
- 为什么char数组要占16的倍数内存
- 创建一个16整型的数组,先输出数组中元素值为3的倍数的数,在输出下标为3的倍数的元素值
- 段地址×16+偏移地址=物理地址
- 汇编语言学习之“段地址*16+偏移地址=物理地址”的本质
- 段地址×16+偏移地址=物理地址
- asm 8086 cpu 段地址
- 段地址×16+偏移地址=物理地址
- 提高篇第十六讲项目1.2—随机数创长度为16的整型数组,先输元素值为3的倍数的数,再输出所有下标为3的倍数
- 有17个人围成一圈(编号为0~16),从第0号的人开始从1报数,凡报到3的倍数的人离开圈子,然后再数下去,直到最后只剩下一个人为止。问此人原来的位置是多少号?
- 段地址×16+偏移地址=物理地址
- 模拟电路中,为什么把运算放大器的放大倍数A做的很大?
- 第十四周项目一数组大折腾(3)创建一个长度为16的整形数组a并初始化,先输出数组中元素值为3的倍数的数,再输出所有下标为3的倍数的元素值
- 8086汇编语言自学经验分享 取得一个标号的段地址CS与偏移地址IP
- 汇编语言学习之“段地址*16+偏移地址=物理地址”的本质
- 段地址×16+偏移地址=物理地址