安徽理工太骨计算机科学与技术系李兆 《汇编语言》第7章 第7章高级汇编语言技术 ch7
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》第7章 ch7 1 第7章 高级汇编语言技术
安徽理工太骨计算机科学与技术系李兆 《汇编语言》第7章 71宏汇编 什么是宏? 宏(或宏指令)是源程序中一段有独立功能 的程序代码,只需定义一次,可以多次调用。 为什么使用宏汇编? 在编制汇编语言程序过程中,有些功能程序段需要 多次重复使用,所不同的只是参与操作的操作数。 为了减少编程的工作量,通常采用两种方法 ①将程序段编写为独立的子程序 ②将程序段定义成宏 大家想一下子程序有什么优缺点? ch7 2
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》第7章 ch7 2 7.1 宏汇编 为什么使用宏汇编? 在编制汇编语言程序过程中,有些功能程序段需要 多次重复使用,所不同的只是参与操作的操作数。 为了减少编程的工作量,通常采用两种方法: ①将程序段编写为独立的子程序 ②将程序段定义成宏 大家想一下 子程序有什么优缺点? •什么是宏? 宏(或宏指令)是源程序中一段有独立功能 的程序代码,只需定义一次,可以多次调用。 第7章
安徽理工太骨计算机科学与技术系李兆 《汇编语言》第7章 711宏定义、宏调用和宏展开 1宏定义 用伪指令 MACROZENDM实现,其语句格式是: 宏指令名 MACRO[形参1,形参2,…,形参 宏定义体 ENDM ch7
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》第7章 ch7 3 1.宏定义 用伪指令MACRO/ENDM实现,其语句格式是: 宏指令名 MACRO [形参1,形参2,…,形参n] ┇ 宏定义体 ENDM 7.1.1 宏定义、宏调用和宏展开
安徽理工太骨计算机科学与技术系李兆 《汇编语言》第7章 说明 宏指令名是该宏定义的名称。调用时使用宏指令名 对该宏定义进行调用。 宏指令符合标识符规定。宏指令名不能重复,并且 指令的第一个字符必须是字母。但可以和源程序中的 其他变量、标号、指令、伪指令名相同,在这种情况 下宏指令的优先级最高。 MACRO必须与ENDM成对出现。 MACRO标识宏 定义的开始。 形式参数(即形参,也称哑元、虚参)是可选项 宏可以不带参数;带参数时,多个形参间用逗号分隔
说明 • 宏指令名是该宏定义的名称。调用时使用宏指令名 对该宏定义进行调用。 • 宏指令符合标识符规定。宏指令名不能重复,并且 指令的第一个字符必须是字母。但可以和源程序中的 其他变量、标号、指令、伪指令名相同,在这种情况 下宏指令的优先级最高。 • MACRO必须与ENDM成对出现。MACRO标识宏 定义的开始 。 • 形式参数(即形参,也称哑元、虚参)是可选项, 宏可以不带参数;带参数时,多个形参间用逗号分隔。 安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》第7章
安徽理工太骨计算机科学与技术系李兆 《汇编语言》第7章 2宏调用 宏调用的格式为 宏指令名[实参1,实参2,…,实参n 说明:实参可以是常数、寄存器、存储单元、地 址表达式、指令的操作码或者是操作码的一部分。 3.宏展开 宏展开就是宏定义体取代源程序中的宏指 令名,而且用实元取代哑元。汇编源程序时, 宏汇编程序将对每条宏指令语句进行宏展开, 用实参替代相应的形参,对宏体目标代码作相 应改变
2.宏调用 宏调用的格式为: 宏指令名 [实参1,实参2,…,实参n] 3. 宏展开 宏展开就是宏定义体取代源程序中的宏指 令名,而且用实元取代哑元。汇编源程序时, 宏汇编程序将对每条宏指令语句进行宏展开, 用实参替代相应的形参,对宏体目标代码作相 应改变。 说明:实参可以是常数、寄存器、存储单元、地 址表达式、指令的操作码或者是操作码的一部分。 安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》第7章