第四章 第一个程序
4.1 CX中存放程序的长度
Debug将程序加载到内存后,cx中存放的是程序的长度。
4.2 DOS系统加载EXE文件的过程
- 先找到一段起始地址为SA.0000的容量足够的内存区。
- 在这内存区的前256个字节中,创建一个称为程序段前缀(PSP)的数据区,DOS要利用PSP来和被加载程序进行通讯。
- 在这段内存区的256字节出开始,将程序装入,程序的地址被设为 SA+10H:0
- CS:IP也指向这个部分,这样,程序就可以开始运行了。
4.3 SA+10H的计算方法
256字节转化为16进制为100H,而物理地址=段地址*10H+偏移地址
,为了更好与段的相符,计算值就交给段地址了。 10H*10H=100H,所以,让段地址+10H。
这种数学问题可不能马虎对待!