当前位置:编程学习 > 汇编语言 >>

汇编语言基本概念(续2)

前面都是通过DEBUG中写入一些汇编命令实现特定的操作要求,实际开发过程中,我们不可能这样一步一步的编写,通常都是编写好一段汇编源程序,然后对这个源程序进行编译链接,编译链接完了之后得到一个可执行程序,操作系统装载可执行程序进行运行,得到想要的结果。

image

以上是一种标准的软件生成、运行过程。通常现代操作系统中都提供了一些辅助工具来帮助程序员书写程序,如开发汇编程序,程序员可以使用编辑器进行编写成一个文本文件,然后编译连接工具如MASM会将这些文本文件编译连接产生一个可执行文件。操作系统装载这些可执行文件时修改CS:IP寄存器,进行执行。

汇编源程序是由一系统伪指令和汇编指令组成的。汇编指令我们前面学过,就是机器指令的助记码,可一一对应到机器码。那么伪指令是什么呢?伪指令是由编译器来执行的,用来说明描述一些程序的代码段、数据段、开始和结尾的一些说明。标准的程序代码组成如下:

image

汇编源程序还需要经过编译连接,机器才能识别,操作系统系统才能加载到内存中进行执行,经过编译连接后产生的机器指令和数据,称之为可执行文件,也称之为程序。如下图所示。

image

 

通常编写一个程序需要经历如下几个步骤:

image

如上图所示,最后还需要有一个程序返回,因为CPU一加电之后就开始不停的运行,编写好后程序必须由另外一个正在执行的程序如cmd.exe,将编写好的程序加载入内存。当程序执行完了,程序需要退出,并返回原来正在执行的程序,因此,对任何一个汇编程序,需要加入如下两行代码实现程序返回。

image

image

 

DOS操作系统提供了一个编译连接工具MASM,当前版本有5.0,6.11,8等不同版本,都可以使用。

image

image

为了观察程序的运行过程,可以使用DEBUG进行单步调试。通常DOS装载一段程序的过程如下图:

image

前面都是通过DEBUG中写入一些汇编命令实现特定的操作要求,实际开发过程中,我们不可能这样一步一步的编写,通常都是编写好一段汇编源程序,然后对这个源程序进行编译链接,编译链接完了之后得到一个可执行程序,操作系统装载可执行程序进行运行,得到想要的结果。

image

以上是一种标准的软件生成、运行过程。通常现代操作系统中都提供了一些辅助工具来帮助程序员书写程序,如开发汇编程序,程序员可以使用编辑器进行编写成一个文本文件,然后编译连接工具如MASM会将这些文本文件编译连接产生一个可执行文件。操作系统装载这些可执行文件时修改CS:IP寄存器,进行执行。

汇编源程序是由一系统伪指令和汇编指令组成的。汇编指令我们前面学过,就是机器指令的助记码,可一一对应到机器码。那么伪指令是什么呢?伪指令是由编译器来执行的,用来说明描述一些程序的代码段、数据段、开始和结尾的一些说明。标准的程序代码组成如下:

image

汇编源程序还需要经过编译连接,机器才能识别,操作系统系统才能加载到内存中进行执行,经过编译连接后产生的机器指令和数据,称之为可执行文件,也称之为程序。如下图所示。

image

 

通常编写一个程序需要经历如下几个步骤:

image

如上图所示,最后还需要有一个程序返回,因为CPU一加电之后就开始不停的运行,编写好后程序必须由另外一个正在执行的程序如cmd.exe,将编写好的程序加载入内存。当程序执行完了,程序需要退出,并返回原来正在执行的程序,因此,对任何一个汇编程序,需要加入如下两行代码实现程序返回。

image

image

 

DOS操作系统提供了一个编译连接工具MASM,当前版本有5.0,6.11,8等不同版本,都可以使用。

image

image

为了观察程序的运行过程,可以使用DEBUG进行单步调试。通常DOS装载一段程序的过程如下图:

image

这里需要注意一点,首先DOS要根据寄存器CX存储的要装的程序长度来选择一段空内存。并将段地址SA存入DS中,但是DOS内设了PSP,因此CS=DS+10H这里需要注意一点,首先DOS要根据寄存器CX存储的要装的程序长度来选择一段空内存。并将段地址SA存入DS中,但是DOS内设了PSP,因此CS=DS+10H

补充:软件开发 , 其他 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,