微机原理求物理地址的问题,那个乘16的含义是左移4位,那计算的时候应该怎么算?

在8086中,段寄存器CS=1200H,指令指针寄存器IP=0FF00H,此时指令的物理地址等于多少?答案是21F00H求解析,谢谢... 在8086中,段寄存器CS=1200H,指令指针寄存器IP=0FF00H,此时指令的物理地址等于多少?
答案是21F00H
求解析,谢谢
展开
soongkaili
2013-09-29 · TA获得超过224个赞
知道答主
回答量:57
采纳率:0%
帮助的人:37.7万
展开全部
物理地址的计算方法是段地址左移一位十六进制数,再加上偏移地址。就像你这个题目中的算法就是:12000H+0FF00H=21F00H。物理地址的计算方法都是如此。只要把相应的段地址左移一位再相加就可以。但有时候需要判断它对应的段地址。
这种题目相对来说是很简单的,只要把题目中给出的十六进制段地址左移一位,最后一位补零就可以的。
再如CS=2100H,IP=02100H。则物理地址为:2A000H+02100H=2C100H
希望对你有帮助!
追问
也看到很多例题都是你说的十六进制左移一位再补零这样做的。
那请再问下公式: 物理地址=段地址×16+偏移地址 中的×16是什么含义,左移四位又是怎么来的?(上课开小差这里没听到。。。)谢谢,必采纳
追答
乘以16就是我说的十六进制的左移一位。因为题目中给我们的基本都是十六进制的数。所以我们只需要将十六进制数左移一位就可以,就相当于原数据乘以16。左移四位则是相对于二进制而言的。二的四次方就是十六。这就是为什么我们的公式中写的是乘以16而不是左移几位的原因。公式中的16只代表十进制的16这个数,但是实际应用时,题目中常常会给我们不同形式的数据,这是我们就要根据题目中给的数据的格式来算,一般的是先转换成十六进制数再算。那样是最简单的。
我相信你对进制转换应该不陌生吧。希望你能理解,希望能让你对这个公式有一个深入的了解。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式