汇编语言3-2010.pptVIP

  1. 1、本文档共95页,可阅读全部内容。
  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文档。上传文档
查看更多
作 业 《实验教程》P49:18 P50:21 第3章 汇编语言程序格式 硬指令和伪指令 硬指令——使CPU产生动作、并在程序执行时才处理的语句,就是第2章学习的处理器指令 伪指令(Directive)——不产生CPU动作、在程序执行前由汇编程序处理的说明性语句,例如,数据说明、变量定义等等 伪指令与具体的处理器类型无关,但与汇编程序的版本有关 3.1 汇编语言程序格式 本节从汇编语言程序的语句格式出发,介绍汇编语言的基本语法规则,介绍汇编语言的段定义、过程定义和数据定义等伪指令。 3.1.1 汇编语言程序的语句格式 ⑴ 执行性语句——由硬指令构成的语句,它通常对应一条机器指令,出现在程序的代码段中: 标号: 硬指令助记符 操作数,操作数 ;注释 ⑵ 说明性语句——由伪指令构成的语句,它通常指示汇编程序如何汇编源程序: 名字 伪指令助记符 参数,参数,… ;注释 标号、名字与标识符 标号是反映硬指令位置(逻辑地址)的标识符,后跟一个冒号分隔 名字是反映伪指令位置(逻辑地址)和属性的标识符,后跟空格或制表符分隔,没有冒号 标识符(Identifier)一般最多由31个字母、数字及规定的特殊符号(如 _、$、?、@)组成,不能以数字开头。默认情况下,汇编程序不区别标识符中的字母大小写 一个程序中,每个标识符的定义是唯一的 保留字 保留字(Reserved Word)是汇编程序已经利用的标识符,主要有: 硬指令助记符——例如:MOV、ADD 伪指令助记符——例如:DB、EQU 操作符——例如:OFFSET、PTR 寄存器名——例如:AX、CS 预定义符号——例如:@data 助记符 硬指令助记符可以是任何一条处理器指令,也可以是一条宏指令 伪指令助记符将在本章和下章学习 前一章引入的定义字节数据和字符串的DB就是伪指令 操作数与参数 处理器指令的操作数可以是立即数、寄存器和存储单元 注释 语句中由分号“;”开始的部分为注释内容,用以增加源程序的可读性 必要时,一个语句行也可以由分号开始作为阶段性注释 汇编程序在翻译源程序时将跳过该部分,不对它们做任何处理 分隔符 语句的4个组成部分要用分隔符分开 标号后用冒号,注释前用分号 操作数之间和参数之间使用逗号分隔 其它部分通常采用空格或制表符 多个空格和制表符的作用与一个相同 MASM支持续行符 “\” 3.1.2 汇编语言的程序格式 完整的汇编语言源程序由段组成 一个汇编语言源程序可以包含若干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列 需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点 所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内 通常,程序还需要一个堆栈段 3.2 参数、变量和标号 本节详细讨论汇编语言程序语句的主要部分: 参数 变量名 标号 并引出相关的伪指令和操作符 本节重点掌握: 常数的表达、 变量定义伪指令DB/DW/DD、 地址操作符和类型操作符 3.2.1 数值型参数 在源程序语句格式的4个组成部分中,参数是指令的操作对象(在学习硬指令时被称为操作数),参数之间用逗号分隔 参数根据指令不同可以没有,可以有1个、2个或多个 汇编语言程序中,指令参数有数值型,它的主要形式是常数和数值表达式; 硬指令的操作数有立即数;立即数就要用数值型参数表达 1. 常数 常数(常量)表示一个固定的数值 它又分成多种形式: (1)十进制常数 (2)十六进制常数 (3)二进制常数 (4)八进制常数 (5)字符串常数 (6)符号常数 十进制常数 由0 ~ 9数字组成,以字母D或d结尾 缺省情况下,后缀D或d可以省略 汇编语言大小写不敏感,D和d通用 例如:100、255D 十六进制常数 由0~9、A~F组成,以字母H或h结尾 以字母A~F开头的十六进制数,前面要用0表达,以避免与其他符号混淆 汇编语言大小写不敏感, H和h 通用 例如:64H、0FFh、0B800H 二进制常数 由0或1两个数字组成,以字母B或b结尾 汇编语言大小写不敏感,B和b通用 例如 八进制常数 由0 ~ 7数字组成,以字母Q或q结尾 汇编语言大小写不敏感,Q和 q 通用 例如:144Q 各种进制的数据以后缀字母区分,默认不加后缀字母的是十进制数 MASM提供基数控制.RADIX伪指令可以改变默认进制,其格式是: .RADIX n 字符串常数 用单引号或双引号括起来的单个字符或多个字符,其数值是每个字符对应的ASCII码的值 例如:d = 64H AB= 4142H Hello, Everybody ! 符

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档