第2章第二部分 汇编语言基础.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章第二部分 汇编语言基础

第2章 汇编语言基础 * * 2.1汇编语言程序结构 1.汇编语言程序通常由若干段组成,包括代码段、数据段、堆栈段。 ??段由伪指令SEGMENT与ENDS定义,各段顺序任意,段的数目依需要确定,原则上不受限制。 ??数据段通常在代码段前面定义。 2.段由若干语句组成,语句以指令为主体构成。可以说汇编语言程序最终由若干条汇编语句组成,是有限条汇编语句的有序集合。 3.汇编语言程序中至少要有一启动标号,作为程序开始执行时目标代码的入口地址。启动号常用START、BEGIN、MAIN等命名。 4.为增加程序的可读性,汇编语言程序中同样有作为注释的成分。汇编语言程序的注释是以“;”开始的内容。 5.更一般地讲,汇编语言程序由若干模块组成,每个模块是一独立汇编单位,独立汇编后整体连接成完整程序。 2.2汇编语言语句 1.语法基础 (1)字符集 汇编语言允许使用的字符是ASCII码字符位的一个子集。 包括: (1)大写字母A~Z; (2)小写字母a~z; (3)数字字符0~9; (4)其他字符+-*/=()[];.:,?@$%?!{}等。 (2).保留字 保留字是由系统给定的,有特定含义的专用名字。 汇编语言中的保留字主要有: a.寄存器的名字AX、BX、CX、DX、BP、SP、SI、DI等; b.指令助记符MOV、PUSH、POP、ADD、SUB、MUL、DIV等; c.伪指令符DB、DW、ASSUME、EQU、LABEL、SEGMENT、PROC等; d.一些特殊的运算符与操作符LT、EQ、HIGH、SEG、PTR、SHORT等。 (3).标识符 标识符在程序中用以标识常量、变量、标号、过程、段、组、宏等的名字。 汇编语言的标识符是以字母或专用字符($、@、?、.、-)开头的字母、数字与专用字符的序列。 汇编语言的标识符不区分大小写,不能与保留字同名。 ??2.语句格式 两类汇编语句在源程序中格式基本相同,由1~4部分组成。 一般格式如下: 1[标识符] 2助记 3[操作数] 4[;注释] ??助记符是语句的主体,对指令语句是机器指令的助记符,对伪指令语句是伪指令符。 ??格式中第1、3、4部分可选。 ??第1部分标识符,对指令语句是标号标识符,代表相应语句的符号地址;对伪指令语句可以是变量名、过程名、段名等,多是变量名。 ??第3部分操作数,对指令语句可以是单操作数、双操作数,也可以是无操作数;对伪指令语句可以有更多的操作数,伪指令语句的操作数称为参数。 ??第4部分注释,是程序中非常重要的辅助成分,可以单独存在。 ??3.指令语句 指令语句是执行性语句,以机器指令作基础,与机器指令相对应,功能靠硬件实现,编译后有对应的目标代码,最终实现程序的操作处理。 ??4.伪指令语句 ???单纯由指令语句不能形成完整程序,需要一些辅助语句来组织指令和数据,这些辅助语句就伪指令语句。 ???伪指令语句是说明性语句,告诉汇编程序如何工作,用于程序员以源程序的方式和汇编程序通信,完成数据定义、段块定义、存储分配等操作,完成汇编控制。 ???伪指令语句功能靠程序,也就汇编程序实现。 2.3表达式 表达式是操作数的一种,由常量、变量、标号、寄存器与相关运算符组成,包括数值表达式和地址表达式。 1.量 ?(1)常量 ???常量在汇编时已有确定的值。 (2)变量 ??变量是存储器中数据区的名字,一方面代表所表示的值,另一方面代表相应存储空间地址。 用作存储器操作数,直接寻址。 ?? (3)标号 ???标号代表指令语句的符号地址,属于代码段,用于标识程序中的控制转移地址,可以作为条件转移、无条件转移、过程调用以及循环控制指令的操作数。 ??? ?2.数值表达式 ?? 数值表达式主要由量经过算术运算、关系运算、逻辑运算形成,结果是数值常量,只有大 小,没有属性。 ??(1)算术运算 ??主要的算术运算有:+、一、*、/、MOD、SHL、SHR。 ??SHL、SHR分别是算术左移运算、算术右移运算。 ??运算时结果可能出现溢出,对四字或十字节操作数最好不要使用表达式。 ??(2)关系运算 ??关系运算包括:相等EQ、不等NE、小于LT、大于GT、小于等于LE、大于等于GE。 ??运算结果是特殊的常量,若关系成立,结果为0FFFFH:若关系不成立,结果为0。 ??(3)逻辑运算 ??逻辑运算包括:与AND、或OR、异或XOR、非NOT。 ??逻辑运算按二进制位进行。 3.地址表达式 ???地址表达式由变量、常量、标号、寄存器的内容和相关运算符组成的有意义的式子。 ???(1)段取代操作 ??段取代操作用于临时给变量或地址表达式指定段属性,即临时改变隐含的段属性。 ??格式:段寄存器或段名:地址表达式 ??进行了段取代操作的地址表达式的偏移属性和类

文档评论(0)

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

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

1亿VIP精品文档

相关文档