……………………第四章……………………
程序返回指令:mov ax,4c00H
int 21H
第四章……操作系统的外壳
操作系统是由多个功能模块组成的庞大、复杂的软件系统。任何通用的操作系统,都要提供一个称为
shell(外壳)的程序,用户(操作人员)使用这个程序来操作计算机系统进行工作。
DOS中有一个程序command.com,这个程序在DOS中称为命令解释器,也就是DOS系统的shell。
DOS启动时,先完成其他重要的初始化工作,然后运行command.com,command.com运行后,执行完其他
的相关任务后,在屏幕上显示出由当前盘符和当前路径组成的提示符,比如:“c:\”或“c:\windows”
等,然后等待用户的输入。
用户可以输入所要执行的命令,比如,cd、dir、type等,这些命令由command执行,command执行完这
些命令后,再次显示由当前盘符和当前路径组成的提示符,等待用户的输入。
如果用户要执行一个程序,则输入该程序的可执行文件的名称,command首先根据文件名找到可执行文
件,然后将这个可执行文件中的程序加载入内存,设置CS:IP指向程序的入口。此后,command暂停运行,
CPU运行程序。程序运行结束后,返回到command中,command再次显示由当前盘符和当前路径组成的提示
符,等待用户输入。
在DOS中,command处理各种输入;命令或要执行的程序的文件名。我们就是通过command来进行工作的
。
第四章……汇编程序从写出到执行的过程
编程→1.asm→编译→1.obj→连接→1.exe加载→内存中的程序→运行
(edit) (masm) (link) (command) (CPU)
实验3……编程、编译、连接、跟踪
2.用DEBUG跟踪t1.exe的执行过程,写出每一步执行后,相关寄存器中的内容和栈顶的内容。
第一次:mov ax,2000H ax=2000 ip=0003
第二次:mov ss,ax
第三次:mov sp,0 ax=2000 sp=0000
第四次:add sp,10 ax=2000 sp=000a
第五次:pop ax ax=0000 sp=000c
第六次:pop bx bx=0000 sp=000e
第七次:push ax ax=0000 sp=000c
第八次:push bx bx=0000 sp=000a
第九次:pop ax ax=0000 sp=000c
第十次:pop bx bx=0000 sp=000e
栈顶内容都是0000。
3.psp内容:CD 20 FF 9F 00 9A F0 FE-1D F0 4F 03 FA 0E 8A 03 |