第!幸高級汇編技术 第宮章高级汇編技术 8.1宏汇编 8.2重复汇编和条件汇编 8.3汇编语言与高级语言的混合编程 BACK
第8章 高级汇编技术 第8章 高级汇编技术 8.1 宏汇编 8.2 重复汇编和条件汇编 8.3 汇编语言与高级语言的混合编程
第!幸高級汇編技术 81宏汇编 811宏指令的定义、调用和展开 1.宏定义伪指令 宏的概念与过程很相似,也是用一个宏名字来代替源程序中 经常需要用到的一个程序模块(代码段),宏定义语句格式与过程 定义语句格式也相似。 格式: 宏名 MACRO[形式参数表] ;宏体 ENDM 宏定义结束 功能:定义一个宏
第8章 高级汇编技术 8.1 宏汇编 8.1.1 宏指令的定义、调用和展开 1.宏定义伪指令 宏的概念与过程很相似,也是用一个宏名字来代替源程序中 经常需要用到的一个程序模块(代码段),宏定义语句格式与过程 定义语句格式也相似。 格式: 宏名 MACRO [形式参数表] ;宏体 ENDM ;宏定义结束 功能:定义一个宏。 …
第8幸高级汇編技术 说明: ①宏名必须是惟一的,它代表着所定义的宏体的内容,在 其后面的源程序中,可通过该名字来调用宏 ②2形式参数表是用逗号(或空格,或制表符)分隔的一个或 多个形式参数。它是可选项。选用了形式参数时,所定义的宏 称为带参数的宏。当调用宏时,需用对应的实际参数去取代, 以实现向宏中传递信息
第8章 高级汇编技术 说明: ① 宏名必须是惟一的,它代表着所定义的宏体的内容,在 其后面的源程序中,可通过该名字来调用宏。 ② 形式参数表是用逗号(或空格,或制表符)分隔的一个或 多个形式参数。它是可选项。选用了形式参数时,所定义的宏 称为带参数的宏。当调用宏时,需用对应的实际参数去取代, 以实现向宏中传递信息
第!幸高級汇編技术 ③宏体可以是汇编语言所允许的任意指令和伪指令语句序 列,它决定了宏的功能。在宏体中还可以定义或调用另一个宏, 这就是宏嵌套。 ④宏一经定义,就像为指令系统增加了新的指令一样,在 程序中就可像指令一样通过宏名对它进行任意次的调用,故又称 为宏指令或宏调用。要注意的是,宏定义必须放在第一条调用它 的指令之前,一般都将它放在程序的开头
第8章 高级汇编技术 ③ 宏体可以是汇编语言所允许的任意指令和伪指令语句序 列,它决定了宏的功能。在宏体中还可以定义或调用另一个宏, 这就是宏嵌套。 ④ 宏一经定义,就像为指令系统增加了新的指令一样,在 程序中就可像指令一样通过宏名对它进行任意次的调用,故又称 为宏指令或宏调用。要注意的是,宏定义必须放在第一条调用它 的指令之前,一般都将它放在程序的开头
第8幸高级汇編技术 2.宏的调用与展开 (1)在汇编语言源程序中,为了使在源程序中不重复书写需 要多次使用的程序段,可以用一条宏指令来代替,由汇编程序 在汇编时产生所需要的代码。 例如,为了实现ASCⅡ码与BCD码之间的相互转换,往往需 要把AL中的内容左移4位或右移4位,可以用80X86的指令来实现。 若要左移4位,可用 MOV CL, 4 SAL AL, CL
第8章 高级汇编技术 2.宏的调用与展开 (1) 在汇编语言源程序中,为了使在源程序中不重复书写需 要多次使用的程序段,可以用一条宏指令来代替,由汇编程序 在汇编时产生所需要的代码。 例如,为了实现ASCII码与BCD码之间的相互转换,往往需 要把AL中的内容左移4位或右移4位,可以用80x86的指令来实现。 若要左移4位,可用: MOV CL,4 SAL AL,CL