ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

汇编语言(第四版)检测点2.2 习题解答

2021-12-19 12:59:03  阅读:245  来源: 互联网

标签:内存地址 0000H 地址 偏移 00010H 20000H 2.2 习题 检测点


检测点2.2

(1)给定段地址为 0001H,仅通过变化偏移地址寻址,CPU的寻址范围为  00010H 到 1000FH  。解析:内存地址 = 段地址(二进制) << 4 + 偏移地址 

                偏移地址变化范围 0000H ~ FFFFH

                故内存地址最小为 00010H + 0000H = 00010H

                    内存地址最大为 00010H + FFFFH = 1000FH

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

  解析:段地址 = (内存地址 - 偏移地址) >> 4   (可能会丢失精度)

             偏移地址变化范围 0000H ~ FFFFH

             故段地址最小为 (20000H - FFFFH) >> 4 = 1000H

                但是,当段地址为 1000H时 内存地址 = 1000H << 4 + FFFFH = 1FFFFH

                是无法寻址到 20000H 内存单元的,很显然是在右移过程地址精度丢失了

                所以段地址要 +1 以弥补右移过程中丢失的精度才能寻址到 20000H

                即段地址最小为 1001H

                段地址最大为 (20000H - 0000H) >> 4 = 2000H 

标签:内存地址,0000H,地址,偏移,00010H,20000H,2.2,习题,检测点
来源: https://blog.csdn.net/basketball616/article/details/122022674

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有