微机原理实验3

微机原理实验3

ID:30892169

大小:92.82 KB

页数:9页

时间:2019-01-04

微机原理实验3_第1页
微机原理实验3_第2页
微机原理实验3_第3页
微机原理实验3_第4页
微机原理实验3_第5页
资源描述:

《微机原理实验3》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《微机原理》实验3一、实验冃的:通过木节课实验,使学生掌握DOS中断调用的格式以及DOS常用中断调用;拿握宏指令的定义及调用格式;掌握8086模块程序的定义及调用格式、对段间模块程序调用进行汇编的命令格式;掌握程序正常结束返回DOS的两种方法。二、实验内容:1.DOS屮断调用格式2.宏指令的定义及调用3.8086模块程序的定义、调用(段内、段间)、対模块程序的汇编命令格式。4.8086汇编语言程序止常结束返回DOS的两种方法.三、实验操作步骤1.DOS中断调用的三个步骤第一步:置入口参数第二步:中断功能号送AH第三步:执行INT21H2.

2、常用DOS中断调用讲解(1)1号功能调用(没有入口参数)格式:MOVAH,1INT21H功能:接收键盘输入一个字符,其字符的ASCII值保存在AL寄存器中。(出口参数在AL中)(2)2号功能调用格式:MOVDL,字符或字符的ASCII值MOVAH,2INT21H功能:在显示屏幕上显示输出DL中的字符。实验实验1:MOVDL,41HMOVAH,2INT21H指令运行结果:在屏幕上显示字符Ao(3)5号功能格式:MOVDL,字符或字符的ASCII值MOVAH,2INT21H功能:在打印机上输出DL中的字符。实验实验2:MOVDL,41HMOV

3、AH,5INT21H指令运行结果:在打印机上输出字符A。(4)9号功能格式:LEADX,字符串变量名MOVAH,9INT21H功能:在屏幕上显示在指定“字符串变量名”存储的一串字符串。(5)10号功能(或0AH号功能)格式:LEADX,字符串变量名MOVAH,10INT21H功能:接收键盘输入的一串字符保存在指定的字符串变量名(变量缓冲区中)。特别说明:假设变量名为A,则A+0存放最大输入个数;A+1处存放实际输入的字符数;A+2处存放实际输入的字符。实验实例3:键盘输入一串字符(不超过20个),显示回车换行后,屏幕重显刚才输入的这串字符

4、。实验程序清单:DATASEGMENTADB20,0,20DUP($)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEADX,AMOVAH,10INT21HMOVDL,0DH;显示回车符MOVAH,2INT21HMOVDL,OAH;显示换行符MOVAH,2INT21HLEADX,A+2;重显输入的字符串MOVAH,9INT21HMOVAH,4CHINT21HCODEENDSENDSTART四、宏指令的定义及调用格式1、宏指令的定义格式:宏指令名MACRO[

5、参数表]宏指令体ENDM功能:定义一条宏指令,宏指令一般放在汇编语言源程序的开头部份定义,宏指令看上去与子程序类似,其本质与子程序完全一样,宏调用时,把定义宏指令程序段插入在宏调用处;宏调用只是节约用户程序的书写长度,增加用户程序的可读性,不节约程序在内存的存储空间。子程序调用时(CALL子程序名),保护好现场断点,转向执行子程序,遇到子程序返回指令RET,返回断点处继续执行原来的程序,程序汇编时,节约了用户程序存储空间。2.宏指令调用格式宏指令名[参数表]实验实例4:利用定义宏,编写一个显示十进制数(不超过65535)的8086宏;宏定

6、义开始;宏定义结束;主程序定义数据段汇编语言程序。程序清单如下:OUTPMACROXMOVCX,0MOVAX,XAA1:INCCXMOVDX,0MOVBX,10DIVBXPUSHDXCMPAX,0JNZAA1AA2:popDXORDL,30HMOVAH,2INT21HLOOPAA2ENDMDATASEGMENTADW23456DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXOUTPA;调用宏指令OUTPMOVAH,4CHINT21HCODEENDSENDSTA

7、RT五、子程序(模块程序)的定义和调用1、段内子程序调用实验实例5:主程序显示AAA,运行子程序显示Xo即整个程序运行结果显示AAAXo程序清单:DATASEGMENTADB'AAA$,DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEADX,AMOVAH,9INT21HCALLSUB1;调用子程序SUB1MOVAH,4CHINT21HSUB1PROC;段内子程序定义开始MOVDL,'XMOVAH,2INT21H;子程序返回指令;段内子程序定义结束。RETS

8、UB1ENDPCODEENDSENDSTART2、段间子程序调用实例实验实例6:主程序为MAIN.ASM,依次调用三个子程序SUB1.ASMSUB2.ASM、SUB3.ASMoSUB1.ASM

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。