- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言之第6章 汇编语言程序格式和上机调试
第6章 汇编语言程序格式和上机调试 主讲人:××× 6.1 汇编语言源程序与汇编程序 1.汇编语言源程序 汇编语言源程序是用汇编语言编写的程序,简称汇编语言程序。汇编语言程序通过编辑程序在计算机中建立汇编语言源程序文件(ASM文件)。 2.汇编程序 将汇编语言源程序编译成目标程序的加工程序称为汇编程序。这一加工过程称为汇编。 汇编程序的作用就是把源程序文件(ASM文件)转换成用二进制代码表示的目标程序文件(OBJ文件)。 汇编程序的主要功能有: (1)检查源程序; (2)测出源程序语法错误,并给出错误; (3)产生目标程序,并可给出列表文件 ; (4)展开宏指令. 6.2 汇编语言语句种类及其格式 语句是汇编语言源程序的基本组成单位。一个汇编语言源程序中有两种最基本语句:指令语句、伪指令语句,它们不仅在程序中的功能不同,而且实现其功能的方法和时间也是不同的。 6.2.1 指令语句 指令语句就是计算机中指令系统的各条指令,每条指令语句在汇编时都产生一个供CPU执行的机器目标代码,所以这种语句又称为可执行语句。 计算机中每条指令语句表示一种基本功能,这些基本功能是在程序运行期间由计算机硬件来实现的。一条指令语句由四个字段组成,其一般格式如下: [标号:] 指令助记符 [操作数] [;注释] 1. 标号 标号是指令语句的符号地址,它代表指令代码存放地址的第一个字节地址。 标号一般在代码段中定义和引用。由于标号代表了指令的符号地址,所以标号也有3个属性: (1)段属性(SEG):标号的段属性是指标号定义所在段的段首地址。 (2)偏移属性(OFFSET):标号的偏移属性是指标号所在段的段首地址到该标号的字节距离。 (3)类型属性(TYPE): 标号的类型属性表示了它的转移特性,即该标号是作为段内还是段间转移(或调用)指令的目标地址。标号的类型属性有2种:NEAR类型和FAR类型。 如果标号是用于段内跳转的,则是NEAR属性;如果是用于段间跳转的,则是FAR属性。 2. 指令助记符 指令助记符为指令语句的核心,是不可省略的主要部分,如MOV、ADD、XOR、RCL等等,它表示指令语句要求CPU完成的具体操作。 3. 操作数 操作数表示指令助记符的操作对象,不同的指令所带的操作数不同,有一个操作数的指令(如INC、NOT等),有二个操作数的指令(如ADD、XOR等),无操作数指令(如CLC、STD等)。 若需要操作数,则每一个操作数要依据寻址方式来表示。操作数可以是常数、寄存器、标号、变量和表达式。 4.注释 注释是用来说明一段程序或一条或多条指令的功能,它是可选项,注释均以分号“;”开始,它可占一行或多行。 注释还通常用于调试程序。注释是语句的非执行部分,因此,它不出现在机器目标代码中,也不影响指令语句的功能。 例如: MOV AX,220 ;将立即数220送到AX中 其中,MOV为,指令助记符;AX和220为操作数;分号后为注释。 6.2.2 伪指令语句 伪指令语句指示汇编程序在汇编源程序时完成某些工作,比如完成数据定义、分配存储区、指示程序结束等。 伪指令属于汇编控制命令,它所指示的操作是由汇编程序在汇编源程序时完成的,在汇编时,它不产生目标代码。 伪指令语句与指令语句的主要区别是:伪指令语句经汇编后不产生机器目标代码,而指令语句经汇编后将产生相应的机器目标代码;伪指令语句所指示的操作是在程序汇编时完成的,而指令语句的操作必须在程序运行时才能完成。 一条伪指令语句也由四个字段组成,其一般格式如下: [符号名] 伪指令符 操作数 [;注释] 1.符号名 符号名在伪指令语句中是一个可选项,符号名后面没有冒号,符号名可以是常量名、变量名、过程名等。 2.伪指令符 伪指令符指定汇编程序要完成的具体操作,它是伪指令语句的核心部分,如数据定义伪指令DB、DW、DD,段定义伪指令SEGMENT,定义过程伪指令PROC等等。 3.操作数 伪指令中的操作数可以是常数、字符串、变量、表达式,其个数由具体的伪指令决定,各个操作数之间用“,”分隔。 4. 注释 伪指令语句的注释也是可选项,需要时必须以“;”开始。 例如: DA1 DB 10H,52H ;从DA1所指单元开始存放“10H”和“52H”两个字节的数据。 其中,DA1为符号名;DB为伪指令符;10H和52H为操作数;分号后为注释。 6.2.3 标识符 指令语句中的标号和伪指令语句中的符号名统称为标识符。它们由若干字符组成,标识符的组成规则如下: 1.一个标识符由1--3个字符组成。
文档评论(0)