汇编语言
汇编语言第二版的第二章就怎么看都看不懂了反复的看了好几遍都不行检测点2.2的问题我都在网上找到答案了我都不知道为什么这样填()(1)给定段地址0001H,仅通过变化偏移地...
汇编语言第二版的第二章就怎么看都看不懂了 反复的看了好几遍都不行
检测点2.2的问题 我都在网上找到答案了 我都不知道为什么这样填()
(1)给定段地址0001H,仅通过变化偏移地址寻址,CPU的寻址范围为:0010H到1000FH
(2)有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻址到此单元,则SA应满足的条件是:最小为1001H,最小为2000H。
谁给我讲讲这其中的意思?这本书不怎么容易懂,好像不大适合初学者看 展开
检测点2.2的问题 我都在网上找到答案了 我都不知道为什么这样填()
(1)给定段地址0001H,仅通过变化偏移地址寻址,CPU的寻址范围为:0010H到1000FH
(2)有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻址到此单元,则SA应满足的条件是:最小为1001H,最小为2000H。
谁给我讲讲这其中的意思?这本书不怎么容易懂,好像不大适合初学者看 展开
2个回答
展开全部
段地址、偏移地址和物理地址,三者的关系式是:
20000H = 段地址 × 16 +偏移地址
当偏移地址取其最大值时,段地址,就能达到最小值。
该最小值,暂时写成:SA = minnH。
在后边添个零,代入公式,如下:
20000H = minn0H + 偏移地址最大值
横扫一眼,即可看出:
等式左边,20000H,其最低位是 0。
等式右边,其最低位,也必须是 0。
所以,偏移地址的最大值,只能是 FFF0H。
由此,即可轻松导出:SA (最小)=1001H。
--------------------
许多人,解此题时,都是用 FFFF 当做最大值!
用 FFFF,只能算出 2000FH,算不出来 20000H。
那么,20000H = ... +FFFFH,这个等式,根本就不成立!
算吧!
结果,就是算出小数来了,怎么看,也不对。
--------------------
呵呵,这题目,也就是:小学的难度。
所以,王爽出题后,并没有给出答案或解题思路。
但是,他没有想到,学微机的人,如此缺乏小学知识。
展开全部
因为物理地址为段地址*16+偏移地址,偏移地址范围为0000H到FFFFH.
(1)给定段地址0001H,,因为偏移地址范围为0x0000到0xFFFF,所以cpu的寻址范围为:
0001H<<1+0000H到0001H<<1+ffffH,相加,得到00010H到0010H+ffffH=1000fH
(2)物理地址为20000H,偏移地址范围为0000H到FFFFH,所以段地址范围为:
(20000H-ffffH)到(20000H-0000H),得到10001H和20000H,对地址10001H由于段地址必须为16的倍数,要取到地址20000H,最小只能取10010H,把地址右移一位,得到sa的取值最小为1001H,最大为2000H
(1)给定段地址0001H,,因为偏移地址范围为0x0000到0xFFFF,所以cpu的寻址范围为:
0001H<<1+0000H到0001H<<1+ffffH,相加,得到00010H到0010H+ffffH=1000fH
(2)物理地址为20000H,偏移地址范围为0000H到FFFFH,所以段地址范围为:
(20000H-ffffH)到(20000H-0000H),得到10001H和20000H,对地址10001H由于段地址必须为16的倍数,要取到地址20000H,最小只能取10010H,把地址右移一位,得到sa的取值最小为1001H,最大为2000H
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询