0%

王爽汇编语言 实验3


🍀王爽 《汇编语言》 实验3解答🍀

在这里插入图片描述
(1)、(2)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)
在这里插入图片描述
  一般来说,PSP是256个字节,当程度生成了可执行文件以后,在执行的时候,先将程序调入内存,这个时候DS中存入程序在内存中的段地址,紧接着是程序的一些说明,比如说程序占用多大空间等等,这就是PSP,一般PSP占256个字节,然后才是真正的程序地址,将CS指向这里,IP设为0000,为什么一般CS要比DS大10H,就是因为这个原因,简单说:DS存放的是程序段地址,由于PSP的存在,真正要执行的地址是DS再加上256个字节。
  以本例程的DS和CS为例,我们可以发现DS = 075A,CS = 076A,由此可得数据段首地址(真正的内存物理地址)为DS×16 + 0 = 075A0H,代码段首地址(真正的内存物理地址)为CS×16 + 0 = 076A0H,二者相差100H,恰好证明了这其中有2^8 = 256个存储单元,也即有256字节的存储空间被PSP段使用。
  解释:上述数据段的第一个存储单元(设为1单元)的地址是075A:0000(对应的实际物理地址为075A0),假设我们现在有一个地址为075A:0010的存储单元(设为2单元,对应的实际物理地址为075B0),显然我们可以发现从单元1到单元2的上面一个单元共有16个存储单元,而075B0H - 075A0H = 10H = 00010000B = 2^4D = 16D,表明了这之间有16个字节的存储空间,据此我们可简单推算出:从075A0到076A0上面那个单元共有256字节的存储空间为PSP段。

------------------本文已结束感谢阅读~------------------