欢迎来到天天文库
浏览记录
ID:36324821
大小:329.50 KB
页数:77页
时间:2019-05-09
《[工学]汇编语言语法介绍》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章汇编语言语法汇编语言概念汇编语言的编程过程汇编语言程序结构汇编语言程序语法汇编语言伪指令汇编:将汇编语言编写的程序翻译成机器代码组成的目标程序的过程成为汇编汇编程序:实现自动完成汇编过程的软件叫汇编程序或汇编器,如MASM.EXE。源程序:按汇编语言语法规则编写的文本文件叫汇编语言源程序或汇编语言程序,如ASM文件。目标程序:由源程序经过汇编而得到的一组机器代码叫目标程序,如OBJ文件。连接程序:将目标文件与库文件或其它目标文件连接形成可执行文件的软件叫连接程序可执行程序:由机器代码组成的可提供操作系统执行的文件叫可执行程序或可执行文件,典型的如
2、COM文件、EXE文件。名词解释汇编程序(即汇编器)总的功能就是将用ASCII码形式的汇编源文件转换成二进制机器代码组成的目标文件。其具体功能包括以下几方面:1)检查源程序中的语法错误,并给出错误信息2)产生源程序的目标程序,并给出列表文件3)支持地址和数据的符号变量表示4)支持对内存的管理5)支持多种类型的数据表示6)支持程序的模块化组织7)支持宏汇编、条件汇编等高级操作汇编程序的主要功能一般来说,开发汇编语言程序有以下面五个步骤:1)设计根据任务要求,设计程序结构、算法,画出流程图。2)编辑根据设计方案,创建汇编语言源程序。它由程序员通过文本编辑器
3、来完成。DOS下常用的有Edit、PE2等。3)汇编将汇编语言源程序源程序转化为机器可以理解的目标程序。汇编器用于完成这步工作。汇编器可以发现源程序中的语法错误,如格式错误、非法指令、操作数类型不匹配等,提示程序员对源程序加以修改,并重新汇编。常用的汇编器有Masm、TurboASM等。汇编语言程序的开发过程和工具4)连接汇编后生成的目标程序虽然记载了CPU可理解的机器代码,但它缺少DOS所需要的重定位信息,所以并不能直接运行。目标程序必须经过连接器连接,生成附带重定位信息的可执行程序(EXE文件或COM文件)才能运行。连接器的一个任务就是从目标模块中
4、产生一个运行模块,并使其具有可重定位性。连接器的第二个任务是可将几个目标模块结合成一个可执行的模块。并同样使其具有可重定位性。这样,你可以一次编写程序的一部分,通过结合,将几个目标模块合并,产生一个完整的运行模块。连接器可以发现源程序中的连接错误,如段的溢出或覆盖,不存在或不匹配的模块、不存在或不匹配的标号、变量等。常用的连接程序是LINK.EXE,它在DOS系统和MicrosoftMasm5.0软件包中都有提供。5)调试完成设计、编辑、汇编、连接后得到的可执行程序中可能存在一些错误(Bug),这些错误可能是设计缺陷或编辑时的笔误,它们可能使程序运行出
5、现结果错误、死机甚至其它无法预测的后果。我们称这类错误为逻辑错误,它们是汇编器和连接器都无法发现的。这类错误只能靠程序员凭借调试器对可执行程序进行耐心细致的跟踪调试,才能逐一排除。典型的调试器有DOS中的Debug,Borland公司的TurboDebug,Microsoft公司的CodeView。它们都具有程序加载、运行、单步跟踪、断点跟踪、查看修改存储器、查看修改寄存器、反汇编等基本功能。后两种还具备源程序级调试等高级功能,使用起来更加得心应手。stacksegmentparastack'stack';定义堆栈段db1024dup(?)stacke
6、ndsdatasegmentpara'data';定义数据段hellodb'Hello,world!',0dh,0ah,'$'dataendscodesegmentpara'code';定义代码段assumecs:code,ds:data,es:data,ss:stackmainprocfarstart:pushdsxorax,axpushaxmovax,datamovds,axleadx,hellomovah,9int21hretmainendpcodeendsendmain;程序起始地址汇编语言源程序示例汇编语言源程序采用分段结构,由若干个段构成一
7、个源程序。而一个段又是由若干个语句组成的,语句是汇编语言源程序的基础。源程序的一般格式为NAMElSEGMENT语句...NAMElENDSNAME2SEGMENT语句...NAME2ENDSEND<程序起始地址标号>每个段有一个名字,以SEGMENT语句作为段的开始,以ENDS语句作为段的结束。这两者都必须有名字,而且名字必须相同。整个源程序以END语句作为结束。汇编语言源程序的结构汇编语言语句的类型1、指令语句指令语句,就是8086/8088的机器指令,它们告诉CPU做什么。汇编程序把它们翻译成机器代码。每一条指令语句产生一条8086/8088指令
8、,由CPU执行操作。如MOV,ADD,JMP等等2、指示语句指示性语句,又称伪语句、伪操作,其
此文档下载收益归作者所有