资源描述:
《北科大微机实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、微机原理实验《微机原理》实验报告班级:学号:姓名:2013年6月微机原理实验目录第一部分上机实验实验一显示程序实验..................................1实验二数据传送实验.................................3实验三数码转换程序实验.............................5实验四运算类程序实验................................14实验五分支程序设计实验.............................17第二部分接口实验实验一简单I/O口扩展验..............
2、.................1实验二存储器读写实验.................................3实验三8255并行口实验.................................14实验四8253定时器/计数器实验...........................19微机原理实验第一部分上机实验-32-微机原理实验实验一显示程序实验一、实验目的1.掌握在PC机上以十六进制形式显示数据的方法;2.掌握部分DOS功能调用使用方法;3.熟悉Tddebug调试环境和TurboDebugger的使用。二、实验内容一般来说,程序需要显示输出提示运行的状况和结
3、果,有的还需要将数据区中的内容显示在屏幕上。本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过DOS功能调用完成一些提示信息的显示。实验中可使用DOS功能调用(INT21H)。(1)显示单个字符输出入口:AH=02H调用参数:DL=输出字符(2)显示字符串入口:AH=09H调用参数:DS:DX=串地址,’$’为结束字符(3)键盘输入并回显入口:AH=01H返回参数:AL=输出字符(4)返回DOS系统入口:AH=4CH调用参数:AL=返回码三、实验设备PC微机一台四、实验代码DATASEGMENTMESDB'Showaashex:',0AH,0DH,'$'SDDB'a'DA
4、TAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETMESMOVAH,09HINT21HMOVDI,OFFSETSDMOVAL,DS:[DI]ANDAL,0F0H-32-微机原理实验SHRAL,4CMPAL,0AHJBC2ADDAL,07HC2:ADDAL,30HMOVDL,ALMOVAH,02HINT21HMOVAL,DS:[DI]ANDAL,0FHCMPAL,0AHJBC3ADDAL,07HC3:ADDAL,30HMOVDL,ALMOVAH,02HINT21HMOVAX,4C00HINT
5、21HCODEENDSENDSTART五、运行结果-32-微机原理实验实验二数据传送实验一、实验目的1.熟悉Tddebug调试环境和TurboDebugger的使用;2.掌握与数据有关的不同寻址方式。二、实验所用设备PC微机一台。三、实验内容将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。参考实验程序:DDATASEGMENT;定义源数据段MSRDB"ONEWORLDONEDREAM!$"LENEQU$-MSR;源字符串的字节数,作为循环次数DDATAENDSEXDASEGMENT;定义附加数据段MSDDBLENDUP(?)EXDAENDSMYSTACKSEG
6、MENTSTACK;定义堆栈段DW20DUP(?)MYSTACKENDSCODESEGMENT;定义代码段ASSUMECS:CODE,DS:DDATA,ES:EXDASTART:MOVAX,DDATAMOVDS,AX;装载数据段寄存器MOVAX,EXDAMOVES,AX;装载附加数据段寄存器MOVSI,OFFSETMSR;设置SI(源传地址指针)MOVDI,OFFSETMSD;设置DI(目的传地址指针)MOVCX,LEN;源字符串的字节数,作为循环次NEXT:MOVAL,[SI];开始传输数据,以字节为单位,源串给目的串MOVES:[DI],AL;要有段超越形式INCSIINCDIDE
7、CCXJNZNEXTPUSHES;将附加段寄存器的段值赋给数据段寄存器POPDS;9号调用必用DS:DX的首地址形式,所以一定给DS、DX赋值-32-微机原理实验MOVDX,OFFSETMSD;而要显示的内容在附加段中MOVAH,9INT21HMOVAX,4C00H;利用DOS功能调用返回DOS状态INT21HCODEENDSENDSTART将程序主体部分的寄存器间接寻址方式改为相对寻址方式,则如下所示:MOVBX,0MOVCX,LENNEXT