第四章 汇编语言的格式.pptVIP

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 汇编语言程序基本格式 汇编语盲是一种符号语言,用汇编语言编制的程序,称为汇编语言源程序。由于计算机只能识别0和1组成的机器代码序列。源程序必须翻译成机器语盲目标程序计算机才能识别和执行。江编程序(ASM、MASM等)是将汇编语言源程序翻译成机器语言目标程序的软件。要使汇编程序理解源程序的编程意图,源程序必须遵守一些规范和约定,如语句格式、程序格式、参数表示、符号定义、内存分配等。这些规范和约定的总和组成了汇编语言的语法。 本章中将学习8086/8088汇编语言程序设计必须理解和掌握的源程序格式、伪指令及操作数表达式等语法基础和汇编语言上机过程。 4.1 汇编语言的语句格式 4.1.1 汇编语言的语句分类 汇编语言的语句即汇编语言中使用的各种指令,它们可分为三类;汇编指令语句、宏指语句和伪指令语句。 汇编指令即用助记符表示的机器指令,将由汇编程序翻译成8086/8088指令系统中的机器代码。这些代码命令8086/8088微处理器执行某些操作,如MOV、ADD、JMP等。 宏指令语句是用一条自定义指令取代的一组汇编指令。汇编程序将它还原成一组机器令供程序运行时执行。使用宏指令可简化源程序.减少出错。 汇编指令语句和宏指令语句都是指令性语句。 伪指令语句是一种指示性语句。它的作用是向汇编程序提供汇编过程要求的一些辅助信息。如:定义各种符号、分配内存单元、实现分段、指定程序在内存中的存放地址等。伪指令与机器码没有对应关系,汇编程序并不把它们也不可能把它们翻译成机器代码。 4.1.2 汇编语言的语句格式 汇编语言的三种语句可以用如下格式统一表示: [名字项] 操作项 操作数项 [; 注释项] 可以看出,每个语句可以由四项组成,其中用方括号括起来的项是可选的项。各项在三类不同的语句中有不同的具体含义。三种语句的具体形式为: 汇编指令语句: [标号:]助记符 操作数1 操作数2 [; 注释] 宏指令语句: [标号:]宏指令名 参数1,…参数n [; 注释] 伪指令语句: [符号名 ]定义符 参数1,…参数n [; 注释] 下面分别对各语句组成项作进一步讨论。 4.1.3 名字项 在指令性语句中的名字项称为标号,标号指出指令代码的存放地址,为转移指令或子程序调用指令提供转移目标地址。标号与指令助记符之间有一个冒号(:)分隔符。 在指示性语句中的名字项又称符号名,可以定义为变量名、符号常数、子程序名或段名等。符号名与定义符之间用空格而不用冒号分隔。 1.关于名字项的规定 名字项中可以使用下列字符: 字母A-Z(大写) a-z(小写) 数字0一9 特殊字符 . ,@,_,?等 除数字外,上面所有规定的字符都可以作为名字项的第一个字符,但问号(?)本身不能单独作为名字。名字中如果用到‘.’,则必须是第一个字符。 名字的有效长度不能超过31个字符,若超过则后续字符无效。 有效的名字顷如: GAMMA Second_street .Varl8be 无效名字为 ? (问号不能单独作为名字) 0ABCDH (数字开头无效) TH.IRD (.必须为首字符) 注意:8086/8088汇编语言中有规定.指令助记符、伪指令、寄存器名以及其它在伪指令中用到的各种符号名都不能用作名字,它们是8086/8088汇编语言的保留字。 在程序中同样的标号或变量的定义允许出现一次,否则汇编程序会指示出错。 2.名字项的属性问题 (1)标号 标号一般在代码段中定义,直接写在汇编指令的开头,后面跟冒号(:)与指令操作码分隔。标号也可以用LABEL或EQU伪指令在数据段中定义。用伪指令定义时,与其它伪指令的符号名定义一样,用空格与定义符分隔。巳定义的标号在转移指令或CALL指令的操作数字段中使用,表示转向地址。子程序名也是一种标号。 标号有三种属性:段属性、偏移属性和类型用性。 段属性:定义标号的段起始地址,标号的段总是放在CS段寄存器中。 偏移属性:标号的偏移地址,它是16位无符号数,代表从段起始地址到定义标号的位置之间距离的字节数。 类型属性:用来指出该标号是在本段内引用还是在其它段中引用。在段内引用的为NEAR类,在段外引用的为FAR类。 (2)变量名 变量一般在除代码段以外的其它段中用伪指令定义。变量通常在操作数字段中被引用,它也有段、偏移和类型三种属性。 段属性:变量所在段的起始地址。 偏移属性:变量的偏移地址,它是一个16位无符号数,代

文档评论(0)

9885fp + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档