版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、建设优良学风 从我做起,知识回顾:,子程序的引出 过程定义伪指令 过程(子程序)调用、返回指令 保护现场、恢复现场 子程序说明文件 参数传送方法 约定寄存器法 约定存储单元法 堆栈法 传送参数指针 子程序设计,第九章 条件汇编与宏指令,理论:1学时 实验:1学时,第九章 条件汇编与宏指令,9.1 条件汇编伪操作,9.2 宏伪操作,第九章 条件汇编与宏指令,条件汇编伪操作和宏伪操作也是为指令操作的一部分,具有条件宏伪操作功能的汇编程序成为宏伪汇编程序。 条件汇编伪操作允许用户在编写的汇编语言程序中规定某种条件,汇编程序在汇编的过程中,对条件进行测试,如果测试条件成立,则将对应的条件块汇编为目标程
2、序,否则,不进行汇编。 条件汇编伪操作格式: IFx condition : : ELSE(可选) : : ENDIF 说明:IFx是条件汇编伪操作。其中x可以是1,2,E,DEF,B,NB, IDN和DIF。 condition是条件表达式。 ELSE是选择项。 ENDIF是条件汇编结束命令。,9.1 条件汇编伪操作,9.1 条件汇编伪操作,若干语句(称为条件块),若干语句(称为条件块),第九章 条件汇编与宏指令,9.1 条件汇编伪操作,条件汇编举例: ARG1EQU35H ARG2=NOT ARG1 IF (ARG1 OR ARG2) EQU 0FFFFH MOVAX,ARG1 MOVBX
3、,ARG2 ADDAX,BX IF (ARG1 AND ARG2) EQU 0FFFFH SUBAX,CX IFEARG1 ADDAX,DX ENDIF MOVSI,AX ENDIF MOVDI,AX ENDIF,第九章 条件汇编与宏指令,9.1 条件汇编伪操作,上述程序有3个条件汇编块,即设置了3个条件伪操作,只有第一个条件为真,所以只将它所包含的条件块汇编为目标代码。 汇编结果: =0035ARG1EQU35H =FFCAARG2=NOT ARG1 IF (ARG1 OR ARG2) EQU 0FFFFH 002D B8 0035 MOVAX,ARG1 0030 8B FFCA MOVBX
4、,ARG2 0033 03 C3 ADDAX,BX ENDIF 0035 89 05MOVDI,AX ENDIF,条件成立,第九章 条件汇编与宏指令,9.1 条件汇编伪操作,9.2 宏伪操作,9.2 宏伪操作 在程序设计中,对于多次重复使用的程序段,我们可以采用子程序的办法。今天我们再介绍一种办法,即采用宏指令的办法。 这种方法是:用宏伪操作将多次重复使用的程序段定义为一个独立的程序段,并赋一个名字,称为宏名字,每当使用这种功能时,就在该处写上这个宏名字,称为宏调用。宏汇编程序对程序汇编时,遇到宏名字就用其所代表的程序段复制到该处,称为宏扩展。使用宏名字就如同使用指令一样,所以也称宏名字为宏指
5、令。 宏定义的一般格式: MNAMEMACRO DUMPAR1,DUMPAR2, : : : ENDM,第九章 条件汇编与宏指令,9.2 宏伪操作,汇编语句(宏体),(宏定义续) 说明: MNAME 用户自己定义的名字,称为宏名字。 MACRO 宏定义伪指令。 ENDM 宏定义结束伪指令。 DUMPAR1,DUMPAR2,为形式参数,也称哑参数。 例:定义数据块传送的宏指令。 BLMOVMACRO SRC,DST,CNT LEA SI,SRC LEA DI,DST MOV CX,CNT CLD REPMOVSB ENDM,第九章 条件汇编与宏指令,9.2 宏伪操作,宏调用 MAIN1: BLM
6、OV ADR1,ADR2,CNT1 : BLMOV ADR3,ADR4,20 : 宏扩展 MAIN1: BLMOVADR1,ADR2,CNT1 + LEA SI,ADR1 +LEA DI,ADR2 +MOV CX,CNT1 +CLD +REPMOVSB BLMOVADR3,ADR4,20 + LEA SI,ADR3 +LEA DI,ADR4 +MOV CX,20 +CLD +REPMOVSB ,第九章 条件汇编与宏指令,9.2 宏伪操作,宏扩展标记,BLMOV宏体,BLMOV宏体,关于宏伪操作的参数怎么使用,宏体中如果有标号怎么处理等等,同学可看书,都能看懂,我们就不在课堂上详细讲了。,第九章 条件汇编与宏指令,9.2 宏伪操作,实验15,编制程序在屏幕上显示字符串。已知字符串存放在数据段STR开始的单元,以回车符结束。 要求: 显示字符串用宏实现 程序结束返回系统用宏实现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论