2.02 段寄存器

1.给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为 _______ 到_______H 。

答 : 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为 00010H 到 1000FH .

2.有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为 _______H ,最大为________H 。

提示:反过来思考,当段地址给定为 1001H 以下和 2000H 以上,CPU无论怎么变化偏移地址都无法寻到20000H单元?
答: 最小位1001H最大2000H.

3.8086/8088上运行的程序某一时刻最多可以访问几个段?程序最多可以具有多少个段?程序至少有几个段?

答: 同时只能访问4个段,最多64K个段,至少有1个段
理论上来说,一个段至少要占16个字节,那么8086/8088的1MB地址空间最多可以有64K个段。
实际上当然比这个少了,因为中断向量表、BIOS数据区、DOS、显存、ROMs等都要占用地址空间。
如果说要同时访问,那只能有4个,因为8086/8088只有4个段寄存器CS/DS/SS/ES,在任意时刻,只能有4个段可用。访问更多的段需要切换段寄存器的值。

4.8086/8088如何寻址1M字节的存储器物理地址空间?在划分段时,必须满足的两个条件是什么?最多可以把1M字节空间划分成几个段?最少可把1M字节地址空间划分为几个段?

答: 用段寄存器左移4位加偏移量的方法来实现寻址1MB地址空间。
每段最多可包含64KB长度的连续存储单元,每个段的起始地址又叫基址,它是一个能被16整除的数,即最后4位为0,基址是用软件设置的。

最多可把1MB空间划分为64KB个段,最少可把1MB地址空间划分为16个段。

5.存储单元的逻辑地址如何表示?存储单元的20位物理地址如何构成?

答: 段寄存器左移4位加偏移量 段:偏移
20位物理地址=段值×16+偏移

6.当段重叠时,一个存储单元的地址可以表示成多个逻辑地址。请问物理地址12345H可表示多少个不同的逻辑地址?偏移最大的逻辑地址是什么?偏移最小的逻辑地址是什么?

答: 12345H可表示1000H(4096)个不同的逻辑地址
偏移最大的逻辑地址:235:FFF5H
偏移最小的逻辑地址:1234:0005

7.什么情况下,根据段值和偏移确定的存储单元地址会超出1M?8086如何处理这种情况?

答: 当物理地址的计算超过FFFFFH时,存储单元地址会超出1M,8086/8088将取其1M的模
覆盖存取.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仙肖醒醒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值