微机原理与接口技术4 (2).ppt

  1. 1、本文档共99页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二、子程序的调用和返回指令 子程序的调用和返回是一对互逆操作,也是一 种特殊的转移操作。 1、调用指令(CALL) ; 调用子程序指令的格式如下: CALL 子程序名/REG/MEM 子程序调用指令的类型? 当被调用子程序的属性是近的时,CALL指令所产 生调用的属性及调用的实现过程 ? 当被调用子程序的属性是远的时,CALL指令所产 生调用的属性及调用的实现过程 ? 4.4 子程序与宏 在子程序的开始处及返回前对保护标志位的处理。 2、 返回指令(RET) 当子程序执行完时,需要返回到调用它的程序之 处。其格式如下: RET/RETN/RETF [IMM] 子程序的返回在功能上是子程序调用的逆操作。 回指令在堆栈操作方面是调用指令的逆过程。其具 体规定如下: (1)在近类型的子程序中,返回指令RET的特性及 功能? 4.4 子程序与宏 (2)在远类型的子程序中,返回指令RET的特性及 功能? 3、局部变量的定义 局部变量的定义格式: LOCAL 变量名[[数量]] [:数据类型] [,变量名[[数量]] [:数据类型]]... 伪指令LOCAL的作用; 对局部变量说明时的注意事项; 在子程序中说明局部变量时,该局部变量在子程序 体中使用及操作方法。 4.4 子程序与宏 4.4.2 宏的定义和引用 一、宏的定义 定义子程序的一般格式如下: 宏名 MACRO [ 形参1, 形参2, … ] … ;宏的定义体 ENDM 在书写宏定义时,必须遵照下列规定: 1、MACRO和ENDM的对偶性及所表示的含义; 2、MACRO和ENDM之间部分的宏的定义; 3、“宏名”的特性; 4、宏名与指令助记符、伪指令名相同时,宏指令 与同名的指令或伪指令的优先级情况; 5、在ENDM的前面宏名的特点; 6、在宏定义首部列举的若干形式参数的表述方式。 4.4 子程序与宏 二、宏的引用 引用宏的一般格式如下: 宏名 [ 实参1, 实参2, … ] 其中:实参的位置要与形参的位置要对应,但实参的个数可以与形参的个数不相等。 1、当实参个数多于形参的个数时,多出的实参的处理方法; 2、当实参个数少于形参个数时,没有实参对应的形参的处理方法。 4.4 子程序与宏 三、宏的参数传递方式 在引用宏时,参数的传递过程; 参数的多样性。 例4-13 定义两个字存储器变量相加和相减的宏。 方法1:定义两个宏,使用宏实现 4.4 子程序与宏 和操作宏: MADDM MACRO OPRD1, OPRD2 ;定义实现加操作的宏 MOV  AX, OPRD2 ADD  OPRD1, AX ENDM 减操作宏: MSUBM MACRO OPRD1, OPRD2 ;定义实现减操作的宏 MOV  AX, OPRD2 SUB  OPRD1, AX ENDM 4.4 子程序与宏 方法2:定义一个宏,把存储器变量的加和减操 作合并在一起: MOPM MACRO OP, OPRD1, OPRD2 MOV  AX, OPRD2 OP   OPRD1, AX ENDM 其中参数OP是一个对应于操作码的形式参数。 4.4 子程序与宏 4.2 常用的伪指令 (2)第二种方法: STACK1 SEGMENT  STACK DB  256 DUP(?) STACK1 ENDS 上述段定义说明了该段是堆栈段,系统会自动把段寄存器SS和栈顶寄存器SP与该堆栈段之间建立相应的关系,并设置其初值,而不用在代码段对它们进行赋值。 4.3 汇编语言程序设计 4.3.1 程序结构概述 汇编语言源程序的组成: 模块。 例如大小程序中的一个个目标文件 段 子程序 宏 汇编语言程序结构: 逻辑结构 语法结构 4.3 汇编语言程序设计 一、逻辑结构 1、顺序结构 特点:程序按照书写顺序由前向后逐条执行。 2、分支结构 特点:程序中出现判断和选择语句,以便执行不同的程序段。常见双分支结构和多分支结构。如下图所示。 3、循环结构 特点:依靠条件判断语句来决定是否对程序段循环执行。按照条件判断的位置,分为“当型循环”和“直到型循环”

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档