- 1、本文档共85页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编全集之第7章 高级汇编语言技术课件
第7章 高级汇编语言技术 ;7.1 宏 汇 编 ; 7.1.1 宏指令的定义、调用和展开
1. 宏指令的定义
宏是源程序中的一段具有独立功能的程序代码。它只要在源程序中定义一次,就可以多次调用,调用时只要使用一个宏指令语句就可以了。宏指令定义由开始伪指令MACRO、宏指令体、宏指令定义结束伪指令ENDM组成。格式如下:
宏指令名 MACRO
[形式参数1,形式参数2,…, 形式参数N]
;宏指令体(宏体)
ENDM; 其中,宏指令名是宏定义为宏体程序指令块规定的名称,可以是任一合法的名字,也可以是系统保留字(如指令助记符、伪指令操作符等),当宏指令名是某个系统保留字时,则该系统保留字就被赋予新的含义,从而失去原有的意义。MACRO语句到ENDM语句之间的所有汇编语句构成宏指令体,简称宏体,宏体中使用的形式参数必须在MACRO语句中列出。
; 形式参数是出现在宏体内某些位置上可以变化的符号,也可以是任一合法的名字,甚至是寄存器名。如果形式参数中使用某些寄存器名,那么在宏汇编展开时,将不认为这些寄存器名是寄存器本身,而是形式参数,并被实际参数所代替。形式参数可以缺省,也可以有一个或多个。当形式参数多于一个时,形式参数之间用逗号隔开。定义宏指令时,每行的字符数不能多于132个。宏指令定义一般放在源程序的开头,以避免产生不应发生的错误。
宏指令必须先定义后调用(引用)。宏指令可以重新定义,也可以嵌套定义。嵌套定义是指在宏指令体内还可以再定义宏指令或调用另一宏指令。; 【例7-1】 定义一条从键盘输入一个字符的宏指令INPUT。
INPUT MACRO
MOV AH,1
INT 21H
ENDM
定义了宏指令语句INPUT之后,就可直接将其用于编程。
;【例7-2】 定义一条换行宏指令LF。
LF MACRO
MOV DL,10
MOV AH,2
INT 21H
ENDM ;【例7-3】 定义一条回车宏指令CR。
CR MACRO
MOV DL,13
MOV AH,2
INT 21H
ENDM
; 2. 宏指令的调用
宏指???一旦定义后,就可以用宏指令名字(宏名)来引用(或调用),这个引用过程即为宏调用。宏调用的格式为
宏指令名 实际参数1,实际参数2,…,实际参数N
; 其中,“实际参数”的类型和顺序要与形式参数的类型和顺序保持一致,宏调用时将一一对应地替换宏指令体中的形式参数。当有两个以上参数时,中间用逗号、空格或制表符隔开。宏指令调用时,实际参数的数目并不一定要和形式参数的数目一致。当实参个数多于形参的个数时,忽略多余的实参;当实参个数少于形参个数时,多余的形参用空串代替。
; 【例7-4】 定义一条INOUT宏指令,既可以引用它输入一串字符,也可引用它显示一串提示字符。
?宏定义:
INOUT MACRO X,Y
MOV AH,X
LEA DX,Y
INT 21H
ENDM
;宏调用:
DATAS SEGMENT
INPUT DB PLEASE INPUT ANY CHARACTERS:, $
KEYBUF DB 10,11 DUP(?),13,10,$
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES, DS:DATAS
;START: PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATAS
MOV DS,AX
INOUT 9,INPUT ;显示一串提示符的宏指令调用
LF ;换行,引用例7-2宏定义
;CR ;回车,引用例7-3宏定义
INOUT 10,KEYBUF;输入一串字符的宏指令调用
LF
CR
INOUT 9,KEYBUF+2
;显示输入的一串字符
您可能关注的文档
最近下载
- 德邦快递_销售体系优化项目_销售体系现状分析报告v1.0_20150413汇报版.pptx VIP
- 最新子宫颈高级别上皮内病变管理的中国专家共识2022(完整版).pdf
- 雨棚清单报价表格.docx
- 光电图像处理-PPT课件(全).pptx
- 《初中英语阅读课“教-学-评”一体化的实践研究》课题研究方案.doc
- YC_T 10.4-2018烟草机械 通用技术条件 第4部分:灰铸铁件.pdf
- 一种应用于港口无人集卡的路径调度仿真测试方法、系统及介质.pdf VIP
- 人教版八年级地理上册《4-3 工业》教学课件PPT初二优秀公开课.pptx
- 5.2吸收借鉴优秀道德成果.pptx
- 消费者债务清理条例 - 司法院.doc VIP
文档评论(0)