ch5汇编语言程序设计

ch5汇编语言程序设计

ID:38550272

大小:880.50 KB

页数:275页

时间:2019-06-14

ch5汇编语言程序设计_第1页
ch5汇编语言程序设计_第2页
ch5汇编语言程序设计_第3页
ch5汇编语言程序设计_第4页
ch5汇编语言程序设计_第5页
资源描述:

《ch5汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章汇编语言程序设计5.1汇编语言的基本概念5.2汇编语言源程序的格式5.3伪指令语句5.4宏指令语句5.5汇编语言程序的上机过程5.6汇编语言程序设计的基本方法5.7发挥80386及其后继机型的优势5.1汇编语言的基本概念1.机器语言(MachineLanguage)机器语言是一种用二进制表示指令和数据,能被机器直接识别的计算机语言。缺点:不直观,不易理解和记忆,因此编写、阅读和修改机器语言程序都比较繁琐。优点:机器语言程序是计算机惟一能够直接理解和执行的程序,具有执行速度快、占用内存少等特点。任何计算机实际上只能直接识别设计微处理器时所规定好

2、的,一整套用“0”、“1”数字代码表示的机器指令。这些机器指令的全体是指令系统。不同类型的CPU,其机器语言必然是不同的。这种直接用机器指令来编制计算机程序的方法就称为机器语言程序设计。《微机原理及应用》课程实验教学用的单板计算机就是直接采用机器语言编程的机器。这种直接用机器语言编程的方法难度大,阅读、查错和修改程序也很不方便。通常,只有当编程者对CPU指令系统比较熟悉,编写的程序较短时,才有可能直接用机器语言来编写计算机程序。但是,单板计算机对硬件操作很直观,可以帮助大家了解和理解计算机在实际中的应用。2.高级语言(HighLevelLangua

3、ge)如果说机器语言是面向机器的语言,那么高级语言(如BASIC,FORTRAN等,C等)则是“面向过程”的语言。利用高级语言编程,程序员可以完全不考虑机器的结构特点,不必了解和熟记机器的指令系统,仅使用一些接近人们书写习惯的英语和数学表达式形式的语句去编制程序。利用高级语言编写的程序与问题本身的数学模型之间有着良好的对应关系,可在各种机器上通用(不同机器之间仅做少量修改)。但是,用高级语言编写的源程序并不能在机器上直接执行,需要被翻译成对应的目标程序(即机器语言程序),机器才能运行。把具有这种翻译作用的程序称为解释程序或编译程序,如图5.1所示。

4、图5.1编译程序的功能示意图由于高级语言程序是在未考虑机器的结构特点的条件下编写的,因而它就不能充分利用某种具体CPU所具有的某些特性,而通过编译或解释程序生成的目标程序往往比较冗长,占有较多的内存空间,执行时间也比较长,这就限制了它在某些场合下的运用。例如,实时的数据采集、检测和在线的实时控制等,往往要求程序的目标代码尽可能少占内存并有尽可能快的执行速度,在这些场合下,使用高级语言编写的程序常常不能满足要求。3.汇编语言(AssemblyLanguage)人们为了摆脱机器语言编程中原始而低级的状态,就设法采用一组字母、数字或字符来代替机器指令,这

5、样就产生了汇编语言的概念和方法。汇编语言是一种采用助记符表示的程序设计语言,即用助记符来表示指令的操作码和操作数,用标号或符号代表地址、常量或变量。助记符一般都是英文字的缩写,以方便人们书写、阅读和检查。实际上,用汇编语言编写的汇编语言源程序就是机器语言程序的符号表示,汇编语言源程序与其经过汇编所产生的目标代码程序之间有明显的一一对应关系,故也称汇编语言为符号语言。用汇编语言编写程序能够直接利用硬件系统的特性(如寄存器、标志、中断系统等)直接对位、字节、字寄存器或存储单元、I/O端口进行处理,同时也能直接使用CPU指令系统和指令系统提供的各种寻址方

6、式,编制出高质量的程序,这样的程序不但占用内存空间少,而且执行速度快。当然,由于源程序和所要解决的问题的数学模型之间的关系不够直观,使得汇编语言程序设计需要较多的软件开发时间,也增加了程序设计过程中出错的可能性。用汇编语言编写的源程序也需要翻译成目标程序才能被机器执行。这个翻译过程称为汇编,完成汇编任务的程序称为汇编程序,如图5.2所示。图5.2汇编程序的功能示意图由于这种符号化的语言使用了用英文字母缩写表示的助记符,因此便于识别与记忆。汇编程序是最早也是最成熟的一种系统软件。它除了能够将汇编语言源程序翻译成机器语言程序这一主要功能外,还能够根据用

7、户的要求自动分配存储区域(包括程序区、数据区、暂存区等);自动地把各种进位制数转换成二进制数,把字符转换成ASCII码,计算表达式的值等;自动对源程序进行检查,给出错误信息(如非法格式,未定义的助记符、标号,漏掉操作数等)等。具有这些功能的汇编程序又称为基本汇编(或小汇编ASM)。在基本汇编的基础上,进一步允许在源程序中把一个指令序列定义为一条宏指令的汇编程序,就叫做宏汇编(MASM)。它包含全部ASM功能,还增加了宏指令、结构、记录等高级汇编语言功能。问题:有高级语言,为什么还要学习和使用汇编语言?原因:(1)汇编语言非常接近机器语言程序,通过

8、编制汇编语言程序,可以更清楚地了解计算机的工作过程。(2)现在的微机系统中,底层的一些功能仍然靠汇编语言程序来实现。(3)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。