社区
硬件设计
帖子详情
8086地址偏移量问题
wisdomzc
2007-03-29 09:39:45
为什么要设地址偏移量是4位?是因为它有20条地址总线,并且寄存器是16位,所以:20-16=4? 那32位处理器地址总线32位,寄存器有32位。它是不是就没有偏移量了?谢谢!
...全文
626
2
打赏
收藏
8086地址偏移量问题
为什么要设地址偏移量是4位?是因为它有20条地址总线,并且寄存器是16位,所以:20-16=4? 那32位处理器地址总线32位,寄存器有32位。它是不是就没有偏移量了?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
somosky
2007-04-01
打赏
举报
回复
学到了。。。
NoBlank
2007-04-01
打赏
举报
回复
基本上,你说的是对的。我尝试着解释一下:
主要是寻址方式与寻址空间的问题,由寻址空间与位长不一致引致的问题。
8086寻址采用“段:偏移”的方式(如SS:BP),段地址寄存器和偏移地址寄存器都是16位长的,实际的线性地址是20位,由“(段 << 4) + 偏移”得到。
32位CPU一般寻址空间也是32位线,直接产生32位的线性地址(不考虑描述符、分页等机制),因此不存在上述现象。
另外,相关地,80286后就有了实模式与保护模式的区别(当然,不仅仅是寻址方式的区别)。
8086
的分段存储管理
在
8086
微处理器中,在描述存储器
地址
时有三个相关的术语:物理
地址
、偏移
地址
和逻辑
地址
。 物理
地址
是由
8086
的
地址
引线送出的20位
地址
码。这20位
地址
码送到存储器经过译码,最终选定一个存储单元进行读/写。物理
地址
可写成5位的十六进制数。 偏移
地址
是相对于某段首
地址
的段内
偏移量
,用16位二进制代码表示,写成4位十六进制数,例如:004AH。 逻辑
地址
是在程序中对存储器
地址
的一种表示方法,由某段的段
地址
和段内偏移
地址
组成。写成:段
地址
: 偏移
地址
J_ZHao_RAM
8086
.rar
8086
最小系统,设计RAM 容量为8K*16bit,
地址
为7 C000H-7FFFFH,对输入脉冲进行计数,当脉冲计数达到学号末3 位值时,将学号(以字符形式)存放在以计数值为
偏移量
的
地址
为起始的连续空间里。
操作系统用户界面.pdf
操作系统⽤户界⾯ 操作系统⽤户界⾯ 3.1 操作系统启动过程 3.1.1 BIOS和主引导记录MBR 实模式和保护模式 实模式(实
地址
模式。REAL MODE) 程序按照
8086
寻址⽅法访问0h - FFFFFh(1MB)空间 寻址⽅式:物理
地址
(20位)=段
地址
:偏移
地址
。 CPU单任务运⾏ 计算机的⼯作模式有两种,⼀个叫做实模式,⼀个叫做保护模式,在计算机刚刚加电启动的过程中计算机处实模式下⾯,实模式也叫REAL MODE。 实模式的特点就是在实模式下⾯程序安装
8086
的⽅式来 ⼯作能够访问的内存空间是1MB在0h ⼀ FFFFFh这个范围⾥⾯。 1MB
地址
空间
地址
有20位采⽤段
地址
:偏移
地址
的⽅式来表⽰20位
地址
。段
地址
16位,偏移
地址
16位,CPU采⽤单任务运⾏,这是CPU 刚开机的时候使⽤实模式。 保护模式(内存保护模式,PROTECT MODE) 寻址⽅式: 段(32位)和
偏移量
(32位),寻址4GB空间 段的属性:起始
地址
,存取属性,权限级别,… 段页式寻址机制(段,页) 虚拟
地址
,进程,封闭空间 应⽤程序和操作系统运⾏的环境都被保护 CPU⽀持多任务 另外⼀种模式叫做保
8086
段偏移的计算
前言
8086
一共20根
地址
线,用16bit的段
地址
+ 4bit偏移来寻址物理
地址
. 同一个物理
地址
可以用多个逻辑
地址
(不同的段
地址
+偏移)表示测试程序// testcase1.cpp : Defines the entry point for the console application. //#include "stdafx.h" #include
#include <
基址和
偏移量
8086
为16位的CPU,而却有20位的
地址
总线,因此需要将CPU中的两个
地址
段
地址
和偏移
地址
合成一个20位的
地址
。
8086
读写内存时: CPU中的相关部件提供两个16位的
地址
,一个是段
地址
,一个是偏移
地址
段
地址
和偏移
地址
通过内部总线送入
地址
加法器
地址
加法器将段
地址
×16+偏移
地址
=物理
地址
,物理
地址
为20位
地址
加法器通过内部总线将20位的物理
地址
送入输入输出控制
硬件设计
6,125
社区成员
11,293
社区内容
发帖
与我相关
我的任务
硬件设计
硬件/嵌入开发 硬件设计
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 硬件设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章