第4章汇编语言程序设计补充.ppt

第4章汇编语言程序设计补充.ppt

ID:60877972

大小:2.32 MB

页数:185页

时间:2020-02-03

第4章汇编语言程序设计补充.ppt_第1页
第4章汇编语言程序设计补充.ppt_第2页
第4章汇编语言程序设计补充.ppt_第3页
第4章汇编语言程序设计补充.ppt_第4页
第4章汇编语言程序设计补充.ppt_第5页
资源描述:

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

1、第4章汇编语言程序设计1.机器语言(MachineLanguage)机器语言是一种用二进制表示指令和数据,能被机器直接识别的计算机语言。它的缺点是不直观,不易理解和记忆,因此编写、阅读和修改机器语言程序都比较繁琐。但机器语言程序是计算机惟一能够直接理解和执行的程序,具有执行速度快、占用内存少等特点。2.高级语言(HighLevelLanguage)如果说机器语言是面向机器的,那么高级语言(如BASIC,FORTRAN等)则是“面向过程”的语言。利用这些语言编程,程序员可以完全不考虑机器的结构特点,不必了解和熟记机器的指令系统,仅使用一些接近人们书写习惯的英语

2、和数学表达式形式的语句去编制程序。这样编写的程序与问题本身的数学模型之间有着良好的对应关系,可在各种机器上通用(不同机器之间仅做少量修改)。但是,这种用高级语言编写的源程序并不能在机器上直接执行,需要被翻译成对应的目标程序(即机器语言程序),机器才能运行。把具有这种翻译作用的程序称为解释程序或编译程序,见图5.1。图5.1编译程序的功能示意图由于高级语言程序是在未考虑机器的结构特点的条件下编写的,因而它就不能充分利用某种具体CPU所具有的某些特性,而通过编译或解释程序生成的目标程序往往比较冗长,占有较多的内存空间,执行时间也比较长,这就限制了它在某些场合下的

3、运用。例如,实时的数据采集、检测和在线的实时控制等,往往要求程序的目标代码尽可能少占内存并有尽可能快的执行速度,在这些场合下,使用高级语言编写的程序常常不能满足要求。3.汇编语言(AssemblyLanguage)汇编语言是一种采用助记符表示的程序设计语言,即用助记符来表示指令的操作码和操作数,用标号或符号代表地址、常量或变量。助记符一般都是英文字的缩写,以方便人们书写、阅读和检查。实际上,用汇编语言编写的汇编语言源程序就是机器语言程序的符号表示,汇编语言源程序与其经过汇编所产生的目标代码程序之间有明显的一一对应关系,故也称汇编语言为符号语言。用汇编语言编写

4、程序能够直接利用硬件系统的特性(如寄存器、标志、中断系统等)直接对位、字节、字寄存器或存储单元、I/O端口进行处理,同时也能直接使用CPU指令系统和指令系统提供的各种寻址方式,编制出高质量的程序,这样的程序不但占用内存空间少,而且执行速度快。当然,由于源程序和所要解决的问题的数学模型之间的关系不够直观,使得汇编语言程序设计需要较多的软件开发时间,也增加了程序设计过程中出错的可能性。用汇编语言编写的源程序也需要翻译成目标程序才能被机器执行。这个翻译过程称为汇编,完成汇编任务的程序称为汇编程序,见图5.2。图5.2汇编程序的功能示意图汇编程序是最早也是最成熟的一

5、种系统软件。它除了能够将汇编语言源程序翻译成机器语言程序这一主要功能外,还能够根据用户的要求自动分配存储区域(包括程序区、数据区、暂存区等);自动地把各种进位制数转换成二进制数,把字符转换成ASCII码,计算表达式的值等;自动对源程序进行检查,给出错误信息(如非法格式,未定义的助记符、标号,漏掉操作数等)等。具有这些功能的汇编程序又称为基本汇编(或小汇编ASM)。在基本汇编的基础上,进一步允许在源程序中把一个指令序列定义为一条宏指令的汇编程序,就叫做宏汇编(MASM)。它包含全部ASM功能,还增加了宏指令、结构、记录等高级汇编语言功能。本章讲述:4.1汇编语

6、言的格式4.2语句行的构成4.3指示性语句4.4指令语句4.5汇编语言程式设计及举例4.1汇编语言的格式4.1.18086汇编语言程序的一个例子MY_DATASEGMENT;定义数据段SUMDB?;为符号SUM保留一个字节MY_DATAENDS;定义数据段结束MY_CODESEGMENT;定义码段ASSUMECS:MY_CODE,;规定CS和DS的内容DS:MY_DATAPORT_VALEQU3;端口的符号名GO:MOVAX,MY_DATA;DS初始化为MY_DATAMOVDS,AXMOVSUM,0;清SUM单元CYCLE:CMPSUM,100;SUM单元与

7、100相比较JNANOT_DONE;若未超过,转至NOT_DONEMOVAL,SUM;若超过,把SUM单元的内容OUTPORT_VAL,AL;通过AL输出HLT;然后停机NOTDONE:INAL,PORT_VAL;未超过时,输入下一个字节ADDSUM,AL;与以前的结果累加JMPCYCLE;转至CYCLEMYCODEENDS;码段结束ENDGO;整个程序结束分段结构由上面的例子可以看出,汇编语言源程序的结构是分段结构形式,一个汇编语言源程序由若干段(SEGMENT)组成,每个段以SEGMENT语句开始,以ENDS语句结束。整个源程序的结尾是END语句。这里所

8、说的汇编语言源程序中的段与前面讨论的CPU管理的存储

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

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

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