文档详情

第七章 宏指令.ppt

发布:2017-06-18约7.36千字共25页下载文档
文本预览下载声明
第7章 高级汇编语言技术 ◆ 宏汇编 ◆ 重复汇编 ◆ 条件汇编 §7.1 宏汇编 宏:源程序中一段有独立功能的程序代码。 宏指令:用户自定义的指令。在编程时,将多次使用的功能用 一条宏指令来代替。 汇编程序:指令 伪指令(伪操作) 宏指令 宏定义: macro_name MACRO [ 哑元表 ] ;形参 /实参 [LOCAL 标号表] …… …… ;宏定义体 ENDM 宏调用: (必须先定义后调用) macro_name [实元表] ;实参 宏展开:汇编程序把宏调用展开 一、宏定义 例7.1:保存寄存器 宏定义: savereg MACRO push ax push bx push cx push dx push si push di ENDM 宏调用: savereg 宏展开: 1 push ax 1 push bx 1 push cx 1 push dx 1 push si 1 push di 例7.2:两个字相乘 宏定义: multiply MACRO opr1,opr2,opr3 push dx push ax mov ax,opr1 imul opr2 mov result,ax pop ax pop dx ENDM 宏调用: Multiply cx,var,xyz[bx] 宏展开: 1 push dx 1 push ax 1 mov ax,cx 1 imul var 1 mov xyz[bx],ax 1 pop ax 1 pop dx 例7.3:求绝对值 宏定义: absol MACRO oper LOCAL next cmp oper,0 jge next neg oper next: ENDM 宏调用: absol var absol bx 宏展开: 1 cmp var,0 1 jge ??0000 1 neg var 1 ??0000: 1 cmp bx,0 1 jge ??0001 1 neg bx 1 ??0001: 宏汇编操作符: ;; % 符号1符号2 宏展开时,合并前后两个符号形成一个符号。 ;; 注释 宏展开时, ;;后面的注释不予展开。 % 表达式 汇编程序将%后面的表达式转换为数字,并在展开期间用这个数取代哑元。 例7.4:宏定义 leap MACRO cond,lab jcond lab
显示全部
相似文档