转载必须注明出处,违者必究。http://www.cnblogs.com/dennisOne
一个汇编源程序的组成
- 汇编源程序
-
汇编源程序的组成
(1). 伪指令
XXXsegment… XXXends 定义段(可以定义代码段、数据段、栈段)。
end 一个汇编程序的结束标志,并且可以指定代码入口地址。
assume编译程序将段寄存器和某个具体的段相关联。但是只是一种"假设"。
(2). 汇编指令
(3). 标号
比如 codesg就是标号,一个标号指代了一个地址。
-
程序返回
- 源程序经编译、连接后转变为机器码,存储在可执行文件中。
- DOS作为一个单任务操作系统,一个程序P2要运行,必须有一个正在运行的程序P1将P2加载到内存中,将CPU的控制权交给P2,这样P2才能得以运行。P2开始运行,P1暂停运行。P2运行完毕后,应该将CPU的控制权交还给使它得以运行的程序P1。P1继续运行。
- 一个 程序结束后,将CPU的控制权交还给使它得以运行的程序的过程称:程序返回。
-
DOS使用中断机制实现程序返回
mov ax, 4c00h
int 21h
-
段结束、程序结束、程序返回
一个汇编语言程序从写出到执行的过程
- 图解
-
dos工具
-
可执行文件包含两个内容:
- 程序(从源程序中的汇编指令翻译过来的机器码)和数据(源程序中定义的数据)。
- 相关的描述信息(比如,程序有多大、要占用多少内存空间等)
-
操作系统的外壳
操作系统一般都提供了shell程序,用户可以这个程序来操作计算机系统进行工作。
DOS中命令解释器command.com就是DOS系统的shell。
-
加载过程
操作系统依照可执行文件中的描述信息,将可执行文件中的机器码和数据加载入内存,并进行相关的初始化(比如设置CS:IP指向第一条要执行的指令),然后由CPU执行程序。