1 / 33
文档名称:

宏汇编汇编语言PPT学习教案.pptx

格式:pptx   大小:169KB   页数:33页
下载后只包含 1 个 PPTX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

宏汇编汇编语言PPT学习教案.pptx

上传人:wz_198613 2021/6/14 文件大小:169 KB

下载得到文件列表

宏汇编汇编语言PPT学习教案.pptx

相关文档

文档介绍

文档介绍:会计学
1
宏汇编汇编语言
一、宏汇编
内容
宏定义
宏调用
宏展开
第1页/共33页
1、宏定义
宏名 macro [形参表]
┇    ;宏指令体(宏体)
endm
(1)宏名(宏指令名) :给出该宏定义的名称(第一个符号必
   须是字母) 。
(2)macro/ endm 系统提供的定义宏的伪指令。
(3)形参表 :给出宏定义中所用到的形式参数,参数可以没   有,或带有一个或是多个,当是多个参数时,每个形参之间需用逗号隔开。具体参数可以是常数、变量、指令或它们的一部分,也可以是表达式。
(4)宏指令体 :一组有独立功能的汇编程序代码。其中可以包括指令、伪指令及宏指令等。
第2页/共33页
1、宏定义(续)
fillseg macro Dsegname ;带有形参Dsegname
mov ax, Dsegname ;宏定义中使用参数
mov ds,ax
endm ;宏定义结束
举例:
思考:
此处的形参Dsegname是什么?
Dsegname是数据段的段名
第3页/共33页
2、宏调用
宏名 [实参表] ;调用时,只需使用宏指令名来调用该宏定义
例如:对上面的宏定义的调用形式为:

FILLSEG DATA        ; DATA为数据段的段名

说明:(1)汇编时,汇编程序对每个宏调用作宏展开 ––– 用宏定义体取代源程序中的宏指令名,用实参代替宏定义中的形参。取代时,实参和形参是一一对应的。 若实参个数>形参个数,则多余实参不考虑 , 若实参个数 <形参个数,则多余形参作“空” 处理。
(2)取代后,所得到的语句应该是有效的,否则汇编程序将会指示出错。
(3)每调用一次就把宏定义体展开一次,因而它占有的存储空间与调用次数有关。
第4页/共33页
3、宏展开
宏调用的实质是在汇编过程中进行宏展开
宏展开的具体过程是:当汇编程序扫描源程序遇到已有定义的宏调用时,即用相应的宏定义体取代源程序的宏指令,同时用位置匹配的实参对形参进行取代。
1 MOV AX,DATA
1 MOV DS,AX
例如:上面的宏调用,其展开形式为:
第5页/共33页
宏汇编应用举例 例5-9
data segment
buf1 db 0dh,0ah,'what are your name?$'
buf2 db 0dh,0ah,'my name is liyang!$'
data ends
code segment
assume ds:data,cs:code
start: mov ax,data
mov ds,ax
disp macro m
lea dx,m
mov ah,9
int 21h
endm
disp buf1
disp buf2
mov ah,4ch
int 21h
code ends
end start
第6页/共33页
宏汇编应用举例 例5-17 P148
multiply macro opr1,opr2,result ; 定义宏
push dx
push ax
mov al,opr1
imul opr2
mov result,ax
pop ax
pop dx
endm
data segment
a db 3
b dw ?
data ends
stack segment stack
db 200 dup(0)
stack ends
code segment
assume ds:data,cs:code,ss:stack
start: mov ax,data
mov ds,ax
mov cl,2
mov bx,0
multiply cl,a,b[bx] ; 宏调用
mov dx,b[bx]
add dl,30h
mov ah,2
int 21h
mov ah,4ch
int 21h
code ends
end start
第7页/共33页
宏——具有宏名的一段汇编语句序列
——宏定义时书写
宏指令——这段汇编语句序列的缩写
——宏调用时书写
宏展开——宏指令