汇编语言内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元 则SA的最小值问题

2021-09-21 05:24:51 字数 1205 阅读 7628

1楼:做而论道

物理地址的最末位,必须放在偏移地址的最末位。

那么,要想寻址到 20000h,偏移地址最大值,只能是 fff0h。

于是:(20000 - fff0) / 16 = 10010 / 16 = 1001h

2楼:山芝臧柔惠

16位的么,如果是的话 20000h-0ffffh(最大偏移地址)=10001h

就是最少得10001h

/10h

=1000.1h

,但是不可能有小数点,只能最小取1001h了

3楼:胖大海君

呵呵 选择俺的做正确答案吧

1 首先20000h不是这个地址段的最高地址 只是一个普通的内存地址

因此 不能用(20000h-ffff)/10h=1000.1h 求段寄存器地址及偏移地址

2 可以说该内存段的最高地址越小 该段的内存第一地址才最小

因此 关键从20000h单元 推出该段的最小的最高地址才是问题的关键

最高地址=段寄存器(最后一位补0)+ffffh=***xfh 最后一位必然为f

因此 可以推出段的最小的最高地址=2000fh

那么 该段内存的最小地址=2000fh-ffffh=10001h

这才是正确答案 其它的都是错误的

哈哈 满意就选满意回答吧

4楼:匿名用户

哎,,这是考试题目吧

有一数据存放在内存20000h单元中,现给定段地址为sa, 20000h指的是地址为20000的吗?

5楼:日侧耳朵里

放在20000h单元中,我们还原下,物理地址=段地址*16h+偏移地址,所以还原后段地址为2000h,偏移地址为0h,一般情况下用ds:bx指向这个单元,ds为段地址,bx一般存偏移地址

所以分号后面一般都是偏移地址,2000:1f60就是段地址为2000,偏移地址为1f60,那么物理地址为:段地址*16h+偏移地址=2000h*16h+1f60=21f60h这个地址就是一个内存单元

6楼:匿名用户

20000h是物理地址,sa是数据所在的段地址,物理地址=段地址*16+偏移地址,所以这里sa=2000h,偏移地址为0;2000:1f60表示数据存放在cs=2000h,ip=1f60的位置