第4章 第一个程序
1 伪指令
1)XXX segment
XXX ends
2)end
3)assume 假设某一个段与某一个寄存器关联
2 标号
一个标号代表了一个地址,
3 程序返回
mov ax,4c00H
int 21H
4 谁将可执行文件中的程序装载进内存并使它运行?
DOS系统中有一个程序command.com,这个程序在DOS中成为命令解释器,也就是DOS系统的shell,command将可执行文件加载入内存,设置CS:IP指向程序的入口,此后command暂停运行,CPU运行程序。
5 程序执行过程的追踪
Debug将可执行程序加载入内存后,cx存放的是程序的长度。
加载过程:
1)找一段起始地址为SA:0000 容量足够空闲的内存区域。
2)在这段内存区的前256个字节中,创建一个称谓程序段前缀PSP的数据区,DOS利用PSP来和被加载程序进行通信
3)将该内存区的段地址存入ds中,设置CS:IP指向程序的入口。即:ds = SA cs = SA+10