微机原理第4章2 5

上传人:kms****20 文档编号:50947884 上传时间:2018-08-11 格式:PPT 页数:40 大小:966KB
返回 下载 相关 举报
微机原理第4章2 5_第1页
第1页 / 共40页
微机原理第4章2 5_第2页
第2页 / 共40页
微机原理第4章2 5_第3页
第3页 / 共40页
微机原理第4章2 5_第4页
第4页 / 共40页
微机原理第4章2 5_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《微机原理第4章2 5》由会员分享,可在线阅读,更多相关《微机原理第4章2 5(40页珍藏版)》请在金锄头文库上搜索。

1、4.2.5 过程定义伪指令格式:PROC 类型 RETENDP 过程就是子程序。一个过程可以被其它程序所 调用(用CALL指令),或用JMP指令跳转到该处 执行。1过程名:过程入口的符号地址,过程名必须相同 。过程体内至少要有一条返回指令(RET)。近过程:NEAR (默认类型),可省略,表示 段内调用。远过程:FAR,不可省略,表示段间调用。调用一个过程的格式为:CALL 过程可嵌套、递归。2例如MAIN PROC FARRETMAIN ENDPNAME1 PROC FARCALL NAME2RETNAME2 PROCRETNAME2 ENDPNAME1 ENDP34.2.6 宏命令伪指令如

2、果需要多次使用同一个程序段,可以将这个程序 段定义为一个宏命令,然后在需要时,可简单地用需要时,可简单地用宏命令名来代替这个程序段。宏命令名来代替这个程序段。指令的格式为:宏命令名 MACRO 形参表ENDM4注意:宏定义结束符前不加宏命令名形参可为任意个,之间用逗号隔开。宏命令调用格式:宏命令名 实参用实参顺序代替形参,若实参多于形参,则多余的实参被忽略。5n例如:宏定义为:Display MACRO somethingLEA DX,somethingMOV AH,9INT 21HENDM 程序中宏调用:DISPLAY ERROR_MESSAGEDISPLAY EXIT_MESSAGE 宏展

3、开:汇编程序会把宏调用按宏定义展开。6汇编后的结果:LEA DX,ERROR_MESSAGEMOV AH,9INT 21HLEA DX,EXIT_MESSAGEMOV AH,9INT 21H 7例例: :两个数之和的宏定义和宏调用。两个数之和的宏定义和宏调用。宏定义为:宏定义为:DADD DADD MACROMACRO X X,Y Y,Z ZMOV AX MOV AX,X XADD AX ADD AX,Y YMOV Z MOV Z,AXAXENDM ENDMX、Y、Z是形式参数。调用宏DADD时可写为:DADD DATA1,DATA2,SUM DATA1,DATA2,SUM是实际参数,由它们替

4、换定义 中的X、Y、Z。 8参数可以是1个,2个或多个SHIFT MACRO CN,RMOV CL,CNSHL R,CLENDM 调用:SHIFT 4,AXSHIFT 6,BL 执行操作: 将AX逻辑左移4次将BL逻辑左移6次9形参不仅可以出现在操作码,还可以 是操作码的一部分 SHIFT MACRO X,Y,ZMOV CL,XS等待键入字符INT 21H;结果在AL中CMP AL,Y ;是Y?JZ YES ;是,转YESCMP AL,N ;是N?JZ NO ;是,转NOJMP GET_KEY;否则继续等待输入YES: NO: 20n7号、8号功能调用与1号类似, 但输入的字符不显示在屏幕上。

5、21格式:MOV AH, 0AHMOV AH, 0AHLEA DX, INT 2INT 21 1H H 执行操作:从键盘输入一串字符,并把它存入用户指 定的缓冲区中。 要求:用户指定键入缓冲区存放输入的字符串,具 体方法为在内存中开辟空间,用DS定义。在调用本功能前,应把键入缓冲区的起始偏 移地址预置入DX中。 (2) 键盘输入字符串(功能号0AH)22键入缓冲区设定格式用户定义的字符串的键入缓冲区格式N1: 缓冲区长度(最大键入字符数) N2: 实际键入的字符数(不包括回车符) 从第三个字节开始存放键入的字符。(预留的N1个字节的存储单元) 0DHN2N123例:设在数据段定义键入缓冲区如下

6、:STR1 DB 10,?,10 DUP(?) 调用DOS功能的0AH号功能的程序段为:MOV AH,0AHLEA DX,STR1INT 21H242. DOS显示功能调用(1) 在显示器上显示单个字符(功能号02H) 格式: MOV AH, 02HMOV AH, 02HMOV DL, INT 21H INT 21H例:在显示器上显示一个字符AMOV AH,02HMOV DL,A ;或41HINT 21H25(2)打印输出字符功能号:05H功能:将DL中的内容输出到打印机上例: MOV DL, 39HMOV AH,05HINT 21H26格式:MOV AHMOV AH,09H09HLEA DX

7、 LEA DX, INT 21HINT 21H 要求: 被显示的字符串必须以$为结束符。 若要回车或换行,则应在字符串结束前加0DH(回车) 或0AH(换行) 被显示的字符串必须在数据段中定义,首单元的偏 移地址送给DX。(3)显示字符串(功能号09H)27字符串输出显示例题DATA SEGMENTMESS1 DB Input String:,$DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AH,09MOV DX,OFFSET MESS1INT21HMOV AH,4CHINT 21HCODE E

8、NDSEND START285. 退回DOS(功能号4CH)n一个实际运行的用户程序执行完后,应该返回DOS提示符的状态,用HLT指令无法将控制权交还给DOS。格式: MOV AH, 4CHMOV AH, 4CHINT 2 INT 21 1H H29例4-10从键盘上输入字符串“HELLO”,并在串尾加结束标志“$” 。 DATA SEGMENTSTRING DB 10,?,10 DUP(?) DATA ENDS CODESEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATAMOV DS,AXMOV DX,OFFSET STRINGMOV AH,0AH

9、INT 21H ;字符串输入 30MOV CL,STRING+1 ;实际读入的字符个数送CLXOR CH,CHADD DX,CX ;得到字符串尾地址MOV BX,DXMOV BYTE PTRBX+2,$ ;插入串结束符MOV AH,4CH INT 21H ;返回DOSCODE ENDSEND START31【例4-11】在屏幕上依次显示“1”,“2”,“3”, “A”,“B”,“C” 6个字符。DATA SEGMENTSTRING DB 123ABC DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATAMOV DS,AX

10、LEA BX, STRINGMOV CX,6 LPP:MOV AH,2MOV DL,BXINT 21H ;显示单字符INC BXDEC CXJNZ LPP MOV AH,4CH INT 21H CODE ENDSEND START32【例4-12】在屏幕上显示欢迎字符串 “Hello,World!”DATA SEGMENTSTRING DB Hello,World!,0DH,0AH,$DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AX33MOV DX,OFFSET STRING MOV AH,09H INT

11、 21H MOV AH,4CH INT 21H ;返回DOS CODE ENDSEND START34例题在“whats your name?”提示下,从键盘输入名字,换行,并在屏幕上显示。35DATA SEGMENTBUF DB 60,?,60 DUP(?)MES DB whats your name?$DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESMOV AH,09HINT 21H ;字符串显示 36LEA DX,BUF MOV AH,0AH INT 21H ;输入

12、名字 MOV DL,0AH MOV AH,02H INT 21H ;换行 LEA DX, BUF+2 MOV AH,09H INT 21H ;显示名字 MOV AH,4CH INT 21H ;返回DOS CODE ENDSEND START37课堂练习1、图示以下数据段在存储器中的存放形式DATA SEGMENTA DB 1,2,3,4B DB ABCDC DW 4 DUP(1)N EQU 12X DD 33H,02HY DD 0ABCDHDATA ENDS382、图示以下数据段在存储器中的存放形式DATA SEGMENTA DB 10,20,30,40B DB EFGHC DW 4 DUP(10)N EQU 45X DD 66H,77HY DD 3344HDATA ENDS393、画图说明下列语句分配的存储空间 DATA SEGMENTDATA1 DB 1234DATA2 DW 2 DUP(3,4,5)DATA3 DD 1234HDATA4 EQU 5DATA5 DB 1,2,3,4 DATA ENDS40

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号