资源描述:
《第4章-汇编语言》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章:汇编语言的特点汇编语言是一种以处理器指令系统为基础的低级程序设计语言,它采用助记符表达指令操作码,采用标识符号表示指令操作数利用汇编语言编写程序的主要优点是可以直接、有效地控制计算机硬件,因而容易创建代码序列短小、运行快速的可执行程序在有些应用领域,汇编语言的作用是不容置疑和无可替代的汇编程序设计的过程是与其他高级语言程序设计大致相同第4章:教学重点汇编语言源程序格式与开发常量、变量和标号汇编语言程序设计方法顺序程序设计分支程序设计循环程序设计子程序设计第4章:4.1汇编语言源程序格式完整的汇编语言源程序由段组成一个汇编语言源程序
2、可以包含若干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内通常,程序还需要一个堆栈段源程序由语句序列构成第4章:汇编语言的语句格式⑴执行性语句——执行性语句用于表达处理器指令(也称为硬指令),汇编后对应一条指令代码。由处理器指令组成的代码序列是程序设计的主体标号:硬指令助记符操作数,操作数;注释⑵说明性语句——说明性语句用于表达伪指令,指示源程序如何汇编、变量怎样定义、过
3、程怎么设置等名字伪指令助记符参数,参数,……;注释第4章:硬指令与伪指令硬指令(Instruction)——使CPU产生动作、并在程序执行时才处理的指令硬指令就是第3章学习的处理器指令,与具体的处理器有关、与汇编程序无关伪指令(Directive)——不产生CPU动作、在程序执行前由汇编程序处理的说明性指令伪指令与具体的处理器类型无关,但与汇编程序有关。不同版本的汇编程序支持不同的伪指令硬指令和伪指令采用易于记忆的符合表达,这就是助记符第4章:标号、名字与标识符标号是反映硬指令位置(逻辑地址)和属性的标识符,后跟一个冒号分隔名字是反映伪指
4、令位置(逻辑地址)和属性的标识符,后跟空格或制表符分隔,没有冒号标识符(Identifier)一般最多由31个字母、数字及规定的特殊符号(如_、$、?、@)组成,不能以数字开头。默认情况下,汇编程序不区别标识符中的字母大小写一个源程序中,每个标识符的定义是唯一的,还不能是汇编语言采用的保留字第4章:保留字保留字(ReservedWord)是汇编程序已经利用的标识符(也称为关键字),主要有:硬指令助记符——例如:MOV、ADD伪指令助记符——例如:DB、DW操作符——例如:OFFSET、PTR寄存器名——例如:AX、CS预定义符号——例如:
5、@data汇编语言大小写不敏感第4章:操作数和参数处理器指令的操作数可以是立即数、寄存器和存储单元伪指令的参数可以是常数、变量名、表达式等,可以有多个,参数之间用逗号分隔第4章:注释语句中由分号“;”开始的部分为注释内容,用以增加源程序的可读性必要时,一个语句行也可以由分号开始作为阶段性注释汇编程序在翻译源程序时将跳过该部分,不对它们做任何处理第4章:分隔符语句的4个组成部分要用分隔符分开标号后用冒号,注释前用分号操作数之间和参数之间使用逗号分隔其他部分通常采用空格或制表符多个空格和制表符的作用与一个相同MASM支持续行符“”第4章:例
6、4.1在屏幕上显示一段信息;数据段(定义要显示的字符串)stringdb’Hello,Assembly!’,0dh,0ah,’$’;代码段(显示字符串的程序)movdx,offsetstringmovah,9int21hHello,Assembly!程序功能第4章:简化段定义格式.modelsmall;定义程序的存储模式(小型模式).stack;定义堆栈段(默认是1KB空间).data;定义数据段……;数据定义.code;定义代码段start:movax,@data;程序起始点movds,ax;设置DS指向用户定义的数据段……;程序代码m
7、ovax,4c00hint21h;程序结束点,返回DOS……;子程序代码endstart;汇编结束,同时指明程序起始点start第4章:第一个源程序文件sample01.asm;sample01.asm.modelsmall.stack.datastringdb’Hello,Assembly!’,0dh,0ah,’$’.codestart:movax,@datamovds,axmovdx,offsetstringmovah,9int21hmovax,4c00hint21hendstart第4章:汇编语言程序的开发过程(附录B)编辑文本编辑
8、器,如EDIT.COM源程序:文件名.asm汇编汇编程序,如ML.EXE目标模块:文件名.obj连接连接程序,如LINK.EXE可执行文件:文件名.exe调试调试程序,如DEBUG.EXE应用