月夜殇梦 发表于 2014-11-22 13:09:54

第二章监测点2.2(2)

检测点2.2 (2) 有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为 1001H ,最大为 2000H 。 当段地址给定为 1001H 以下和 2000H 以上,CPU无论怎么变化偏移地址都无法寻到20000H单元。解题过程:物理地址=SA*16+EA    20000h=SA*16+EA    SA=(20000h-EA)/16=2000h-EA/16    EA取最大值时,SA=2000h-ffffh/16=1001h,SA为最小值   
EA取最小值时,SA=2000h-0h/16=2000h,SA为最大值
这个EA取最大值时,我怎么算都是1000.1H,为什么答案是1001H呢?

月夜殇梦 发表于 2014-11-22 13:41:51

点错了我去

小人 发表于 2014-11-22 14:30:19

因为SA 必须是16的倍数   如果不是则得在se便宜上增减

月夜殇梦 发表于 2014-11-22 17:10:38

小人 发表于 2014-11-22 14:30
因为SA 必须是16的倍数   如果不是则得在se便宜上增减

可是小数不是七舍八入么?

小人 发表于 2014-11-22 18:41:11

月夜殇梦 发表于 2014-11-22 09:10
可是小数不是七舍八入么?

没停过七舍八入{:9_230:}


段地址就必须是16的倍数   ,不是16的倍数就要 调整 偏移地址
页: [1]
查看完整版本: 第二章监测点2.2(2)