一个汇编程序生成的过程和加载的过程
在dos中:
汇编程序的编写:
先用edit即一个编辑器编辑源文件(即在记事本里写代码),保存为一个文件名,一般为.asm后缀。
程序返回到cmd中,再用masm编译,输入编辑的文件名(如果后面加分号就不会提醒中间文件),从而完成编译,生产.obj后缀的文件。
再用link链接.obj文件,如果有库文件需要链接,就链接。
上述觉均可以在文件后加分号取消提醒中间文件。
汇编程序的执行:
首先打开cmd程序,在cmd程序中执行.exe,cmd将这个可执行程序加载到内存上,运行完毕后返回cmd。
debug调试程序执行过程:
cmd先执行debug,debug执行,但debug程序不返回,然后debug程序加载.exe,执行.exe,然后返回到debug,再返回cmd。
.exe程序的加载过程:
首先找到一个偏移地址为0的内存区,创建一个程序段前缀(PSP),在psp后面的256字节后装入程序,将这片内存的段地址存入ds中,初始化其他寄存器,设置cs:ip指向程序入口。(以上皆由调用其的程序完成)