汇编语言问题,请详细解,谢谢!!

来源:百度知道 编辑:UC知道 时间:2024/05/31 16:35:52
(1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻找范围是多少?
(2)有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元.则SA应满足的条件是:(最小值,最大值)。

(1)10H~1000FH
无论段地址多少,段内寻址范围皆为:0H~0FFFFH,即16的4次方=65536字节;物理地址寻址范围:10H~1000FH。
(2)最小值:0,最大值:0FFF0H
SA最小为:1001H,EA=0FFF0H最大,1001H*10H+0FFF0H=20000H;
SA最大为:2000H,EA=0H最小,2000H*10H=20000H

1.根据段位数不同,寻找范围不同:16位段:0--65535;32位段:0--2^32 - 1,依次类推;

2.当偏移地址取最大时SA为最小:1001H;当偏移地址取最小时SA为最大:2000H

(1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻找范围是多少?
答:汇编中的寻址地址=段地址*16+偏移地址,偏移地址是16位的地址大小从0到0xffff(十进制65535),所以如果段地址为0001H,CPU的寻址范围是:
0001H*16+0到0001H*16+0FFFFH,即地址范围从00010H到1000FH
(2)有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元.则SA应满足的条件是:(最小值,最大值)。
答:因为偏移地址最小为0,最大为0FFFFH,所以SA最大为2000H,这时偏移地址为0,最小为1001H,这时偏移地址为0FFF0H,再小不可能访问到了。