马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
今天看了汇编语言的2.2的作业,在下有几个小问题不明白,请大侠们指教谢谢!!
1) (给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为 0010H 到 1000FH 。 解题过程: 物理地址=SA*16+EA EA的变化范围为0h~ffffh 物理地址范围为(SA*16+0h)~(SA*16+ffffh) 现在SA=0001h,那么寻址范围为 (0001h*16+0h)~(0001h*16+ffffh) =0010h~1000fh (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为最大值 (1)这里的0001H 是什么意思呢,不管是哪个进制数前面的0应该可以省略吧。 还有这里,(0001h*16+0h)~(0001h*16+ffffh) =0010h~1000fh 在怎么样1X16都不会=10吧,这是怎么算的呢? (2)SA=(20000h-EA)/16=2000h-EA/16 这里的后面括号去了的话16应该都要除进去的吧,就是2000H/16-EA/16,就这样才能让等式成立吧? 就上面这些问题了,希望大家帮我谢谢,请尽量详细点谢谢 |