第4章 8086,88汇编语言程序设计.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 8086,88汇编语言程序设计

* 前面的例子中可以看出: 汇编程序每一行只有一条语句 每行不能超过128个字符(从MASM 6.0开始可以是512个字符) 一条语句允许有后续行,最后均以回车作结束 整个源程序必须以END语句来结束,通知汇编程序停止汇编。END后面的标号START表示该程序执行时的起始地址 每一条汇编语句最多由4个字段组成,它们均按照一定的规则分别写在一个语句的4个区域内 ,各区域之间用空格或制表符(TAB键)隔开 * 在8086/8088汇编语言中,有两类汇编语言指令, 执行性指令 又称“指令语句”。这类语句经汇编后产生机器指令代码。 按其与汇编后目标程序对应情况又可分为 一般性执行指令 执行性指令的功能主要由其对应的目标程序在运行时来实现,一条指令对应一条8086/8088的机器指令,即指令系统中包括的指令。如: 汇编指令 机器码 MOV DS, AX 8E D8 ADD AX, BX 03 C3 宏指令 这种指令是由伪操作定义的,是一般性指令的扩展,是以某个宏名字定义的一段指令序列,在汇编时,凡有宏指令出现的地方都将用相应的指令序列的目标代码插入。 4.1.2 汇编语言的语句与格式 * 执行性指令的格式 [标号:] [前缀] 指令助记符 [操作数表] [;注释] 其中[ ]表示根据不同的指令或不同情况可以任选的部分。 操作数表是由逗号分隔开的多个操作数。 标号代表“:”后指令的存储地址,供JMP,CALL和LOOP等指令操作使用。除此之外,还有一些其他“属性” 。 前缀是 8086/8088中一些特殊指令,它们同其他指令配合使用,如“串操作指令”的重复指令REP。 指令助记符包括8086/8088指令助记符以及用宏定义语句定义过的宏指令名。 操作数对8086/8088的一般性执行指令来说,可以是一个或二个操作数,这时我们称前面的操作数为目标操作数,后面的操作数为源操作数。操作数可以是:寄存器、存储单元、常数或表达式。对宏指令来说,可能有多个操作数。操作数之间有逗号隔开。 注释以“;”开始,用来简要说明该指令在程序中的作用,以提高程序的可读性。可放在指令后,也可单独一行。 * 宏指令语句 为了书写方便,把一个汇编语句序列用一条指令代替,这种指令称为宏指令。由宏指令组成的语句称为宏指令语句。在汇编时,凡是有宏指令的地方将用相应的汇编语句序列取代,所以宏指令可以产生目标代码。 例如:funcal macro x ;x是形式参数 mov ah, x int 21h endm 则 funcal为宏指令,使用时直接写成: funcal 2 ;其中2是宏参数, 汇编时展开产生: mov ah, 2 int 21h 两条语句,并将它们汇编成目标代码。 * 说明性指令(伪指令) 又称“指示性语句”,由伪操作符定义,用于程序以源程序方式同“汇编程序”通信。 程序采用说明性指令表示源程序的起始终止信息、分段情况、内存结构、打印要求和变量说明等信息 说明性指令的功能由汇编程序来完成。说明性指令在汇编时不产生任何代码。 说明性指令的格式 [名字] 伪操作指令 [操作数表] [;注释] 其中 “名字”可以是标识符定义的常量名、变量名、过程名、段名以及结构名或记录名等 标识符是由字母、数字、特殊字符(如?、@或下划线)等组成的字符串。 如: DATA SEGMENT AA DW 20H, -30H DATA ENDS * 注意: 默认情况下,汇编程序是不区分大、小写字母的。 伪指令的名字后无冒号,是有别于指令语句的主要方面。 注意注解的写法。要写指令(段)在程序中的作用,而不要写指令的操作。 例如:以下为同一条指令写的注释,显然第二种写法要更好 1)MOV CX,100 ;传送100到CX 2)MOV CX,100 ;循环计数器置初值 * MASM 中伪操作命令 * (一)指令语句 主要由8086/8088指令系统中的指令组成。一条指令必须包括一个指令助记符,以及充分的寻址信息,以

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档