中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(课件讲稿)第六章 汇编语言高级编程

第六章汇编语言高级编程 1、宏汇编 2、结构和记录 3、32位字长编程 4、汇编语言混合编程
第六章 汇编语言高级编程 1、宏汇编 2、结构和记录 3、32位字长编程 4、汇编语言混合编程

宏类似于C语言中的预处理,在编译时进行宏展开。 条件汇编能避免使用过多的标号,使程序的结构 更清晰。C与汇编语言的联合编程以及W32下的汇 编编程,将使汇编语言和高级语言的优,点充分结 合起来。 888
宏类似于C语言中的预处理,在编译时进行宏展开。 条件汇编能避免使用过多的标号,使程序的结构 更清晰 。 C与汇编语言的联合编程以及 与汇编语言的联合编程以及W32下的汇 编编程,将使汇编语言和高级语言的优点充分结 合起来。 2

6.1宏汇编 宏或称宏指令是源程序中的具有独立功能的程序代码。它 只需要在源程序中定义一次,就可以多次调用,所以使 用宏可以加快编程速度和查错效率,从而为程序设计提 供极具特色的模块化程序设计工具和手段,使汇编语言 源程序同高级语言程序一样清晰、简洁,有利于阅读、 修改和调试。 80 888
6.1 宏汇编 宏或称宏指令是源程序中的具有独立功能的程序代码。它 只需要在源程序中定义一次,就可以多次调用,所以使 用宏可以加快编程速度和查错效率,从而为程序设计提 供极具特色的模块化程序设计工具和手段,使汇编语言 源程序同高级语言程序一样清晰 源程序同高级语言程序一样清晰、简洁,有利于阅读、 修改和调试。 3

6.1.1宏定义 MACR0[] 宏体 ENDM
6.1.1 宏定义 MACRO [] ┆ 宏体 ENDM 4

说明: ①宏名即宏指令名是用户给某段指令定义的符号名,调用时。● 可用该符号名来调用宏。 ②宏名不能互相重复且使用宏汇编语言中的合法符号,并且 允许与源程序中的其他变量、标号、指令、伪指令名相同。 此时,宏名具有更高的优先级。 ③MACRO:和ENDM是一对伪操作符号,MACRO标识宏定义的开始, ENDM标识宏定义的结束。MACRO和ENDM之间的语句组称为 宏体,宏体中允许有伪指令、注释语句“;” ④形式参数表是可选项,因此宏可以不带参数;带参数时, 参数表中的各形式参数(或称形参、哑元)用逗号分隔。 o8888 5
说明: ①宏名即宏指令名是用户给某段指令定义的符号名,调用时 可用该符号名来调用宏。 ②宏名不能互相重复且使用宏汇编语言中的合法符号,并且 允许与源程序中的其他变量 允许与源程序中的其他变量、标号、指令、伪指令名相同。 此时,宏名具有更高的优先级。 ③MACRO和ENDM是一对伪操作符号 是一对伪操作符号,MACRO标识宏定义的开始 标识宏定义的开始, ENDM标识宏定义的结束。MACRO和ENDM之间的语句组称为 宏体,宏体中允许有伪指令 宏体中允许有伪指令、注释语句“;”。 ④形式参数表是可选项,因此宏可以不带参数;带参数时, 参数表中的各形式参数(或称形参、哑元)用逗号分隔。 5

例如:CRLF MACRO MOV AH,2 MOV DL,OAH ;OAH是回车ASCII.码 Int 21h MOV DL,ODH ;ODH是换行ASCII码 INT 21H ENDM 该宏功能是实现回车换行。 888
例如:CRLF MACRO CRLF MACRO MOV AH,2 MOV DL,0AH ;0AH是回车ASCII码 INT 21H INT 21H MOV DL,0DH ;0DH是换行ASCII码 INT 21H INT 21H ENDM 该宏功能是实现回车换行。 6

6.1.2宏调用与宏展开 宏调用的格式为: [K实参表>] 说明: ①宏名为已定义过的宏,即必须先定义、后调用。 ②实参表中的参数将一一对应替换宏定义中形参表中的参 数。两处的参数个数可以不同。若实参个数多于形式参数 个数,则多余的实参忽略;若实参个数少于形式参数个数, 则多余的形式参数用零或空格代替。 ③汇编程序在汇编源程序时,若遇到宏调用,则用调用所 提供的实参数替代相应的形参数,并把宏体中的指令嵌入●● 到源程序中。这种嵌入操作称为宏展开
6.1.2 宏调用与宏展开 宏调用的格式为: [] 说明: ①宏名为已定义过的宏 宏名为已定义过的宏,即必须先定义 、后调用 。 ②实参表中的参数将一一对应替换宏定义中形参表中的参 数 。两处的参数个数可以不同 。若实参个数多于形式参数 个数,则多余的实参忽略;若实参个数少于形式参数个数, 则多余的形式参数用零或空格代替。 ③汇编程序在汇编源程序时,若遇到宏调用,则用调用所 提供的实参数替代相应的形参数,并把宏体中的指令嵌入 到源程序中 。这种嵌入操作称为宏展开 。 7

。 例题6.1应用宏功能,实现字符串的屏幕输出。● 1.宏定义 PROMPT MACRO MESSAGE MOV AH,09H LEA DX,MESSAGE INT 21H ENDM 00 。888
例题6.1 应用宏功能,实现字符串的屏幕输出 实现字符串的屏幕输出。 1.宏定义 PROMPT MACRO MESSAGE MOV AH,09H LEA DX,MESSAGE INT 21H ENDM 8

2.宏调用 DATA SEGMENT STRING1 DB“STRING 0 JTPUT!$ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX PROMPT STRING1;宏调用 MOV AH,4CH INT 21H CODE ENDS END START .888 9
2.宏调用 DATA SEGMENT DATA SEGMENT STRING1 DB “STRING OUTPUT !$” DATA ENDS DATA ENDS CODE SEGMENT ASSUME CS ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS DS,AX PROMPT STRING1 ;宏调用 MOV AH, 4CH MOV AH, 4CH INT 21H CODE ENDS CODE ENDS END START 9

3.宏展开 经汇编宏展开后, 代码段指令如下(+表示为宏展开后的语句): CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX + mov ah,09h; 宏调用Prompt String1的宏展开 + lea dx,Stringl + int 21h MOV AH,4CH INT 21H CODE ENDS END START 10
3.宏展开 经汇编宏展开后, 代码段指令如下(+表示为宏展开后的语句 表示为宏展开后的语句): CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX ,DATA MOV DS,AX + mov ah, 09h ah, 09h;宏调用Prompt String1 Prompt String1的宏展开 + lea dx, String1 + int 21h MOV AH, 4CH INT 21H CODE ENDS CODE ENDS END START 10
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(课件讲稿)第八章 中断及中断系统.pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(课件讲稿)第七章 I/O程序设计.pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(课件讲稿)第四章 汇编语言程序.pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(课件讲稿)第五章 汇编程序设计.pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(课件讲稿)第二章 8086微处理器.pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(课件讲稿)第三章 寻址方式.pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(课件讲稿)第一章 汇编语言基础.pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(实验课件)综合实验(共十个).pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(实验课件)创新实验(共三个).pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(实验课件)基础实验(共五个).pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(试卷习题)第1-4章习题.pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(试卷习题)自测试题2(含答案).pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(试卷习题)自测试题1(含答案).pdf
- 中国地质大学(武汉):《多媒体技术应用 Multimedia Technology》课程教学资源(课件讲稿)第六章 动画制作.pdf
- 中国地质大学(武汉):《多媒体技术应用 Multimedia Technology》课程教学资源(课件讲稿)第五章 视频信息处理.pdf
- 中国地质大学(武汉):《多媒体技术应用 Multimedia Technology》课程教学资源(课件讲稿)第七章 多媒体作品的集成开发.pdf
- 中国地质大学(武汉):《多媒体技术应用 Multimedia Technology》课程教学资源(课件讲稿)第四章 音频信息处理.pdf
- 中国地质大学(武汉):《多媒体技术应用 Multimedia Technology》课程教学资源(课件讲稿)第二章 文字素材处理.pdf
- 中国地质大学(武汉):《多媒体技术应用 Multimedia Technology》课程教学资源(课件讲稿)第三章 图形与图像处理.pdf
- 中国地质大学(武汉):《多媒体技术应用 Multimedia Technology》课程教学资源(课件讲稿)第一章 多媒体技术概述.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)JEDEC DESIGN STANDARD DESIGN REQUIREMENTS FOR OUTLINES OF SOLID STATE AND RELATED PRODUCTS.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)Thermally Advantaged Chassis(TAC)Design Guide.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)Information Technology - AT Attachment with Packet Interface – 7 Volume 3(ATA/ATAPI-7 V3).pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)计算机天空电脑芯片级主板培训教材.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)Accelerated Graphics Port Interface Specification.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)计算机维修技术(第2版)Windows 2000/XP 服务说明.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)计算机维修技术(第2版)Windows XP 注册表常用项值.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)计算机维修技术(第2版)Windows 2000/XP 常见系统进程.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)主板维修流程图.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)计算机维修技术(第2版)Windows 下病毒和不良进程.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)开机显示内容及相关故障判断.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)主板维修思路.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)維修簡單判斷流程圖.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)计算机维修技术(第2版)POST卡故障代码含义速查表.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)“El Torito” Bootable CD-ROM Format Specification Version 1.0.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)USB 技术(Usb2.0的协议规范、USB的电气特性、协议层、USB设备架构、USB主机硬件与软件、集线器规范).pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)1394 Open Host Controller Interface Specification Release 1.1.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)计算机维修技术(第2版)CPU插座类型与适用产品系列.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)计算机维修技术(第2版)64位DDR2 SDRAM Unb-DIMM内存条引脚功能定义(240脚).pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)计算机维修技术(第2版)VGA接口定义.pdf