监测点2.2
本帖最后由 xiehaofeng 于 2018-3-15 21:34 编辑监测点2.2
(1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为_______H到______H。
(2)有一数据存放在内存20000H单元中现给定段地址为SA,若想用偏移地址寻到单元。则SA应满足的条件是:最小为_______H,最大为________H.
注:(1)物理地址=段地址X16 + 偏移地址
最小寻址值:物理地址=0001H X16+0H
=0010H+0H
=0010H
=10H
最大寻址值:物理地址=0001HX16+FFFFH
=0010H+FFFFH
=1000FH
因此:寻址范围为10H到1000FH
(2)物理地址=段地址X16 + 偏移地址
偏移地址最大时,SA的值最小
20000H=SAX16+FFFFH
2000H=SA+FFFFH/16 (两边的数同时除以16,也可以理解为同时偏移一位)
2000H=SA+65535/16 (将16进制数FFFF转化为十进制数65535)
2000H=SA+4095 (将十进制数4095转化为16进制数FFF)
2000H=SA+FFFH
SA=2000H-FFFH
SA=1001H
偏移地址最小时,SA的值最大
20000H=SAX16+0H
2000H=SA+0H/16 (两边的数同时除以16,也可以理解为同时偏移一位)
2000H=SA+0H
SA=2000H-0H
SA=2000H
0001HX16+FFFFH这么就=1000FH? 大佬哦 发表于 2019-2-27 16:40
0001HX16+FFFFH这么就=1000FH?
你用计算器算,16进制,10H+FFFFH=1000FH 2000H=SA+65535/16 (将16进制数FFFF转化为十进制数65535)这里为什么要转换成十进制呢?转换成十进制为什么不是÷十10?
2000H=SA+65535/16 (将16进制数FFFF转化为十进制数65535)这里为什么要转换成⑩进制?{:5_100:} 咸鱼小明 发表于 2020-6-4 22:56
2000H=SA+65535/16 (将16进制数FFFF转化为十进制数65535)这里为什么要转换成十进制呢?转换成十进制为什 ...
是为了吧sa提出来 这样不就可以求值了
bai111111 发表于 2021-1-3 00:02
是为了吧sa提出来 这样不就可以求值了
除以16直接右移一位不就可以了吗? sadjjapi 发表于 2021-4-7 19:53
除以16直接右移一位不就可以了吗?
直接右移有小数,1001H是1000.1H取了整的,因为取1000H就取不到20000H这个单元,所以向上取整
页:
[1]