第4章-汇编语言与源程序结构分析.ppt

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

第4章 汇编语言与源程序结构  ◆ 汇编语言源程序与汇编程序 ◆ 汇编语言语句种类及其格式 ◆ 汇编语言数据与运算符  ◆ 伪指令   ◆ 源程序结构模式   4.1 汇编语言源程序与汇编程序 1、汇编语言源程序  汇编语言源程序是用汇编语言编写的程序,简称汇编语言程序。汇编语言程序通过编辑程序在计算机中建立汇编语言源程序文件(ASM文件)。  2、汇编程序  将汇编语言源程序编译成目标程序的加工程序称为汇编程序。这一加工过程称为汇编。  汇编程序的作用就是把源程序文件(ASM文件)转换成用二进制代码表示的目标程序文件(OBJ文件)。 汇编程序的主要功能有: ①?检查源程序。② 测出源程序语法错误,并给出错误。 ③?产生目标程序,并可给出列表文件 ④?展开宏指令。   4.2 汇编语言语句种类及其格式 语句是汇编语言源程序的基本组成单位。一个汇编语言源程序中有3种基本语句:指令语句、伪指令语句和宏指令语句。前两种是最常见、最基本的语句。指令语句和伪指令语句不仅在程序中的功能不同,而且实现其功能的方法和时间也是不同的。 1、指令语句  指令语句就是计算机中指令系统的各条指令,每条指令语句在汇编时都产生一个供CPU执行的机器目标代码,所以这种语句又称为可执行语句。  计算机中每条指令语句表示一种基本功能,这些基本功能是在程序运行期间由计算机硬件来实现的。一条指令语句由四个字段组成,其一般格式如下:  [标号:] 指令助记符 [操作数] [;注释]   4.3 汇编语言数据与运算符 汇编语言的指令语句和伪指令语句操作数一般为常量、变量、标号、表达式。   1、常量  常量是没有任何属性的纯数值,它的值在汇编期间已能完全确定,且在程序运行中也不会发生变化。常量分为数值常量、字符串常量和符号常量,它主要用于指令语句中的立即数或伪指令语句中给变量赋初值等。 (1)数值常量  数值常量分为整数和实数。  例如 ,45693 ,0FF2AH ,356703Q都是正确的整数形式,      又如:543.567,﹣45.23,1.2E﹣2,﹣45.4E﹢9都是正确的实数形式。   算术运算符 +,-,*,/是加减乘除运算符。 MOD是除法取余运算符。例如,32 MOD 5=2。 SHL是左移操作符。例如,21H SHL 2=84H。 SHR是右移操作符。 逻辑运算符 AND是逻辑“与”操作符。例如24H AND 0FH=04H。 OR是逻辑“或”操作符。例如,24H OR 0FH=2FH。 XOR是“异或”操作符。例如,24H XOR 0FH=2BH。 NOT是逻辑“非”操作符。例如,NOT 24H=0DBH。 4.4 伪指令 伪指令又称为伪操作,伪指令是汇编语言程序设计的一个重要部分,由于汇编程序在汇编过程中无法区分源程序中的分段情况,哪些是数据,哪些是指令,也无法识别数据的类型,以及源程序在哪结束,因此,80X86宏汇编语言提供了多种伪指令,它主要告诉汇编程序如何正确地将汇编源程序汇编成目标程序。 1、数据定义伪指令 常用的数据定义伪指令有DB、DW、DD、DQ、DT。 格式:[变量] 数据定义伪指令 表达式 [ ,表达式,…] 功能:定义数据存储区,类型由数据定义伪指令确定,初值由表达式给定。   4.5 源程序结构模式 一个汇编源程序一般由几个段组成,其中,必不可少的是代码段和堆栈段,堆栈段也可以不用显示定义,可以直接使用隐式堆栈段,如果程序中需要使用数据存储区,还要定义数据段,必要时还要定义附加段。 一般情况下,对于不太复杂的程序只需要三个段(即数据段、堆栈段和代码段)就可以了,而对于复杂的程序,除了使用上述三个段以外还可以使用多个段,甚至可以使用多个程序模块。 汇编语言源程序结构通常有两种,它们的区别在于代码段中某些部分的编写稍有不同。具体地说,就是用户程序运行结束后,返回DOS的方法上有所不同。   汇编运算符的优先级 字节定义伪指令DB 000D 03 12 25 41 42 43 FIRST DB 3,18,25H,ABC 0013 2D 0C 1F 06 SECOND DB 3*15,48/4,36-5,26 MOD 10 0017 ?? ?? 36 FF 1E THIRD DB ?,?,36H,-1,36Q 001C 0005[1A] FOUTH DB 5 DU

文档评论(0)

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

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

1亿VIP精品文档

相关文档