过程定义伪指令PROC、ENDP.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《过程定义伪指令PROC、ENDP.ppt》由会员分享,可在线阅读,更多相关《过程定义伪指令PROC、ENDP.ppt(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、4.2.4.2.4 4 过程定义伪指令过程定义伪指令PROCPROC、ENDPENDP 过程就是子程序。一个过程可以被其它程序所调过程就是子程序。一个过程可以被其它程序所调用用(用用CALLCALL指令指令),过程的最后一条指令一般是返回,过程的最后一条指令一般是返回指令指令(RET)(RET)。过程定义伪指令的格式为过程定义伪指令的格式为 PROCPROCPROCPROC 类型类型类型类型 RET RET RET RET ENDPENDPENDPENDP 注意:注意:PROCPROC和和ENDPENDP必须成对出现。必须成对出现。1 1 过程的类型有两种:NEAR(默认类型)表示段内调用 F
2、AR表示段间调用 调用一个过程的格式为:CALL 2 24.2.4.2.5 5 宏定义伪指令宏定义伪指令如果需要多次使用同一个程序段,可以将这个程序段定义为一个”宏指令”,然后在需要时,可简单地用宏指令名宏指令名来代替这个程序段。指令的格式为:指令的格式为:MACRO 形参表形参表 ENDM3 3例:两个数之和的宏定义和宏调用。宏定义为:DADD DADD MACROMACRO X X,Y Y,Z Z MOV AX MOV AX,X X ADD AX ADD AX,Y Y MOV Z MOV Z,AXAX ENDMENDMX、Y、Z是形式参数。调用宏DADD时可写为:DADD DATA1,DA
3、TA2,SUMDATA1,DATA2,SUM是实际参数,由它们替换定义中的X、Y、Z。4 4宏调用与过程(子程序)调用都是一次定义,多次调用。它们之间的差别是:执行形式执行形式:宏命令伪指令由宏汇编程序在汇编过理中进行处理,而CALL、RET则是由CPU执行的指令。汇编结果汇编结果:宏命令伪指令汇编后被展开。执行速度执行速度:宏命令执行速度较快(因无调用转移)占用内存占用内存:宏指令简化了源程序,但不能简化目标程序,并不节省内存单元。使用过程可以节省代码占用的内存空间。5 5宏展开:汇编程序会把宏调用按宏定义展开。宏展开:汇编程序会把宏调用按宏定义展开。例如:宏定义为:例如:宏定义为:Disp
4、lay MACRO string Display MACRO string LEA DX LEA DX,stringstring MOV AH MOV AH,9 9 INT 21H INT 21H ENDM ENDM 程序中宏调用:程序中宏调用:DISPLAY ERROR_MESSAGE DISPLAY ERROR_MESSAGE DISPLAY EXIT_MESSAGE DISPLAY EXIT_MESSAGE 汇编后的结果:汇编后的结果:(带有带有+号的指令为宏展开后的结果号的指令为宏展开后的结果)+LEA DX +LEA DX,ERROR_MESSAGEERROR_MESSAGE +MO
5、V AH +MOV AH,9 9 +INT 21H +INT 21H +LEA DX +LEA DX,EXIT_MESSAGEEXIT_MESSAGE +MOV +MOVAHAH,9 9 +INT 21H +INT 21H 6 64.2.6 汇编结束伪指令END汇编语言源程序的最后,要加汇编结束伪指令END,以使汇编程序结束汇编。格式:END 表达式END后跟的表达式通常就是程序第一条指令的标号,指示程序的启动地址(要执行的第一条指令的地址)。7 7汇编语言的一个实例:EXAM.ASM 8 84.3 4.3 DOS系统功能调用介绍系统功能调用介绍系统功能调用系统功能调用系统功能调用系统功能调用
6、由由由由OSOSOSOS提供的一组实现特殊功能提供的一组实现特殊功能提供的一组实现特殊功能提供的一组实现特殊功能的子程序供程序员在程序中调用,以减轻编程工的子程序供程序员在程序中调用,以减轻编程工的子程序供程序员在程序中调用,以减轻编程工的子程序供程序员在程序中调用,以减轻编程工作量。作量。作量。作量。系统功能调用有两种,一种称为系统功能调用有两种,一种称为系统功能调用有两种,一种称为系统功能调用有两种,一种称为DOSDOS功能调用,功能调用,功能调用,功能调用,另一种称为另一种称为另一种称为另一种称为BIOSBIOS功能调用。功能调用。功能调用。功能调用。用户程序在调用这些系统服务程序时,不
7、是用用户程序在调用这些系统服务程序时,不是用用户程序在调用这些系统服务程序时,不是用用户程序在调用这些系统服务程序时,不是用CALLCALL命令,而是采用软中断指令命令,而是采用软中断指令命令,而是采用软中断指令命令,而是采用软中断指令INT INT n n来实现来实现来实现来实现。在在在在DOSDOS系统系统系统系统中,功能调用都是用软中断指令中,功能调用都是用软中断指令中,功能调用都是用软中断指令中,功能调用都是用软中断指令INT INT 21H21H来实现的。来实现的。来实现的。来实现的。9 9INT 2lHINT 2lH功能大致可以分为四个方面:功能大致可以分为四个方面:设备管理、目录
8、管理、文件管理和其它。设备管理、目录管理、文件管理和其它。参见参见P411P411页附录页附录C.3C.3D0SD0SD0SD0S系统功能调用的使用方法如下:系统功能调用的使用方法如下:系统功能调用的使用方法如下:系统功能调用的使用方法如下:AHAHAHAH功能号功能号功能号功能号;设置该功能所要求的其他入口参数;设置该功能所要求的其他入口参数;设置该功能所要求的其他入口参数;设置该功能所要求的其他入口参数;执行执行执行执行INT 21HINT 21HINT 21HINT 21H指令;指令;指令;指令;分析出口参数。分析出口参数。分析出口参数。分析出口参数。以下以下以下以下介绍介绍介绍介绍IN
9、T 21HINT 21H的几个最常用的功能。的几个最常用的功能。的几个最常用的功能。的几个最常用的功能。1010关于数据输入和输出我们这里只讨论键盘输入键盘输入和显示输出显示输出,调用系统功能需要提供入口参数及所调用的功能号,调用结束返回结果。1.1.DOSDOS键盘功能调用键盘功能调用(1)从键盘输入一个字符(功能号功能号=1=1)MOV AH,MOV AH,1 1 INT 21H INT 21H AL 1111例:程序中有时需要用户对提示做出应答。GET_KEY:GET_KEY:MOV AH,1MOV AH,1;等待键入字符等待键入字符 INT 21HINT 21H;结果在结果在ALAL中
10、中 CMP AL,Y CMP AL,Y;是是Y?Y?JZ YES JZ YES ;是是,转转YESYES CMP AL,N CMP AL,N;是是N?N?JZ NO JZ NO ;是是,转转NONO JMP GET_KEY JMP GET_KEY;否则继续等待输入否则继续等待输入 YES:YES:NO:NO:1212(2)输入字符串(功能号功能号=0AH=0AH)此功能调用从键盘输入一串字符并把它存入用户指定的缓冲区中。MOV AH,MOV AH,0AH0AH LEA DX,LEA DX,INT 2INT 21 1H H (预留的预留的N1个字节的存储单元个字节的存储单元)0DHN2N1 N1
11、:缓冲区长度缓冲区长度(最大键入字符数最大键入字符数)N2:实际键入的字符数实际键入的字符数(不包括回车符不包括回车符)用户定义的输入字符串的缓冲区格式 1313 若用户键入的字符数(包括回车)定义的N1,本功能调用将不再接收新的键入,且光标不再向右移动。例:设在数据段定义键盘缓冲区如下:STR1 DB 10,?,10 DUP(?)调用DOS功能的0AH号功能的程序段为:LEA DX,STR1 MOV AH,0AH INT 21H 此程序段最多从键盘接收10个按键(包括回车)。14142.2.DOSDOS显示功能调用显示功能调用(1)(1)在显示器上显示一个字符在显示器上显示一个字符(功能号功
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 过程 定义 指令 PROC ENDP
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内