微机原理与接口课程设计报告模板(参考)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《微机原理与接口技术》课程设计报告班级:学号:姓名:201X年X月《微机原理与接口技术》课程设计报告-1-目录实验一显示程序实验..................................2实验二数据传送实验.................................4实验三数码转换程序实验.............................6实验四运算类程序实验................................15实验五分支程序设计实验.............................18《微机原理与接口技术》课程设计报告-2-实验一显示程序实验一、实验目的1.掌握在PC机上以十六进制形式显示数据的方法;2.掌握部分DOS功能调用使用方法;3.熟悉Tddebug调试环境和TurboDebugger的使用。二、实验内容一般来说,程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过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'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETMES;显示提示信息MOVAH,09H《微机原理与接口技术》课程设计报告-3-INT21HMOVDI,OFFSETSDMOVAL,DS:[DI]ANDAL,0F0H;取高4位SHRAL,4CMPAL,0AH;是否是A以上的数JBC2ADDAL,07HC2:ADDAL,30HMOVDL,AL;显示字符MOVAH,02HINT21HMOVAL,DS:[DI]ANDAL,0FH;取低4位CMPAL,0AHJBC3ADDAL,07HC3:ADDAL,30HMOVDL,AL;显示字符MOVAH,02HINT21HMOVAX,4C00H;返回DOSINT21HCODEENDSENDSTART五、运行结果《微机原理与接口技术》课程设计报告-4-实验二数据传送实验一、实验目的1.熟悉Tddebug调试环境和TurboDebugger的使用;2.掌握与数据有关的不同寻址方式。二、实验所用设备1.PC微机一台。三、实验内容将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。参考实验程序:DDATASEGMENT;定义源数据段MSRDBHELLO,WORLD!$LENEQU$-MSRDDATAENDSEXDASEGMENT;定义附加数据段MSDDBLENDUP(?)EXDAENDSMYSTACKSEGMENTSTACK;定义堆栈段DW20DUP(?)MYSTACKENDSCODESEGMENT;定义代码段ASSUMECS:CODE,DS:DDATA,ES:EXDASTART:MOVAX,DDATAMOVDS,AX;装载数据段寄存器MOVAX,EXDAMOVES,AX;装载附加数据段寄存器MOVSI,OFFSETMSR;设置SIMOVDI,OFFSETMSD;设置DIMOVCX,LENNEXT:MOVAL,[SI];开始传输数据INCSIINCDIDECCXJNZNEXTPUSHESPOPDS;将附加段寄存器的段值赋给数据段寄存器MOVDX,OFFSETMSD《微机原理与接口技术》课程设计报告-5-MOVAH,9INT21HMOVAX,4C00H;利用DOS功能调用返回DOS状态INT21HCODEENDSENDSTART将程序主体部分的寄存器间接寻址方式改为相对寻址方式,则如下所示:MOVBX,0MOVCX,LENNEXT:MOVAL,MSR[BX]MOVES:MSD[BX],ALINCBXLOOPNEXT四、实验步骤1.运行Tddebug软件,选择Edit菜单编写实验程序;2.使用Compile菜单中的Compile和Link对实验程序进行汇编、连接;3.使用Rmrun菜单中的Run,运行程序,观察运行结果;4.使用Rmrun菜单中的Debug,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容;5.更改数据区中的数据,考察程序的正确性。五、实验运行结果《微机原理与接口技术》课程设计报告-6-实验三数码转换程序实验一、实验目的掌握不同进制数及编码相互转换的程序设计方法。二、实验所用设备PC微机一台。三、实验内容计算机输入设备输入的信息一般是由ASCII码或BCD码表示的数据或字符,CPU用二进制数进行计算或其它信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD码或七段显示码等。因此,在应用软件中,各类数制的转换和代码的转换是必不可少的。计算机与外设间的数码转换关系如图3-1所示,数码对应关系如表3-1所示。图3-1计算机与外设间的数码转换关系1.将ASCII码表示的十进制数转换为二进制数十进制数可以表示为:Dn×10n+Dn-1×10n-1+…+D0×100=Di×10i其中Di代表十进制数1、2、3…9、0。上式可以转换为:ΣDi×10i=((…(Dn×10+Dn-1)×10)+Dn-2)×10+…+D1)×10+D0由上式可归纳十进制数转换为二进制的方法:从十进制数的最高位Dn开始作乘10加次位的操作,依次类推,则可求出二进制数结果。《微机原理与接口技术》课程设计报告-7-本实验要求将缓冲区中的一个五位十进制数00012的ASCII码转换成二进制数,并将转换结果按位显示在屏幕上。转换过程的参考流程如图3-2所示。表3-1数码转换对应关系2.将十进制数的ASCII码转换为BCD码本实验要求将键盘输入的一个五位十进制数54321的ASCII码存放入数据区中,转换为BCD码后,并将转换结果按位分别显示于屏幕上。若输入的不是十进制数的ASCII码,则输出“FF”。提示:一字节ASCII码取其低四位即变为BCD码。转换部分的实验流程参见3-3。3.将十六进制数的ASCII码转换为十进制数十六位二进制数的值域为0-65535,最大可转换为五位十进制数。五位十进制数可表示为:ND=D4×104+D3×103+D2×102+D1×10+D0因此,将十六位二进制数转换为五位ASCII码表示的十进制数,就是求D1-D4,并将它们转化为ASCII码。《微机原理与接口技术》课程设计报告-8-图3-2十进制ASCII转换为二进制数参考流程图3-3十进制ASCII转换为BCD码参考流程本实验要求将缓冲区中存放的000CH的ASCII码转换成十进制数,并将转换结果显示在屏幕上。转换部分的实验流程参见图3-4。4.BCD码转换为二进制码本实验要求将四个二位十进制数的BCD码存放在某一内存单元中,转换出的二进制数码存入其后的内存单元中,转换结束,送屏幕显示。转换部分的实验流程参见3-5。四、实验步骤1.运行Tddebug软件,选择Edit菜单编写实验程序;2.使用Compile菜单中的Compile和Link对实验程序进行汇编、连接;3.使用Rmrun菜单中的Run,运行程序,观察运行结果;4.使用Rmrun菜单中的Debug,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容;5.更改数据区中的数据,考察程序的正确性。五、实验代码《微机原理与接口技术》课程设计报告-9-1.将ASCII码表示的十进制数转换为二进制数DATASEGMENTSTRINGDB'Input:','$'NUMDB6,?,6DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXCALLINPUTCALLCHANGECALLLIST_BXMOVAH,4CHINT21HINPUTPROCLEADX,STRINGMOVAH,09HINT21HLEADX,NUMMOVAH,0AHINT21HRETINPUTENDPCHANGEPROCLEASI,NUM+2MOVCL,NUM+1MOVCH,0MOVAX,0MOVDI,10NEXT:MULDIMOVBH,0MOVBL,[SI]ANDBL,0FHADDAX,BXINCSILOOPNEXTZERO:MOVBX,AXRETCHANGEENDPADDDL,07HLIST_BXPROCMOVDL,0DH《微机原理与接口技术》课程设计报告-10-MOVAH,2INT21HMOVDL,0AHMOVAH,2INT21HMOVCH,4MOVCL,4NEXT1:ROLBX,CLMOVDL,BLANDDL,0FHADDDL,30HCMPDL,39HJLEPRINTPRINT:MOVAH,2HINT21HDECCHJNZNEXT1RETLIST_BXENDPCODEENDSENDSTART2.将十进制数的ASCII码转换为BCD码DATASEGMENTD1DB6,?,6DUP(?)D2DB5DUP(?)D3DB'FF$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETD1MOVAH,0AHINT21HMOVDL,0DHMOVAH,2INT21HMOVDL,0AHMOVAH,2INT21HMOVCL,D1+1MOVCH,0《微机原理与接口技术》课程设计报告-11-MOVSI,0L1:MOVAL,D1[SI+2]CMPAL,30HJBL2CMPAL,39HJAL2ANDAL,0FHMOVD2[SI],ALINCSILOOPL1MOVCL,D1+1MOVSI,0L4:MOVDL,D1[SI+2]MOVAH,2INT21HINCSILOOPL4JMPL3L2:MOVDX,OFFSETD3MOVAH,09HINT21HL3:MOVAH,4CHINT21HCODEENDSENDSTART3.将十六进制数的ASCII码转换为十进制数DATASEGMENTD1DB'000C'C1EQU$-D1D2DW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,C1MOVSI,OFFSETD1MOVBX,10HMOVAX,0L1:MOVDL,[SI]SUBDL,30HCMPDL,9JBEL2《微机原理与接口技术》课程设计报告-12-SUBDL,7H;十六进制数大写,若小写,减27hL2:MOVDH,0PUSHDXMULBXPOPDXADDAX,DXINCSIDECCXJNZL1MOVD2,AXMOVBX,10000MOVDX,0DIVBXPUSHDXMOVDL,ALADDDL,30HMOVAH,2INT21HPOPAXMOVBX,1000MOVDX,0DIVBXPUSHDXMOVDL,ALADDDL,30HMOVAH,2INT21HPOPAXMOVBX,100MOVDX,0DIVBXPUSHDXMOVDL,ALADDDL,30HMOVAH,2INT21HPOPAXMOVBX,10MOVDX,0DIVBXPUSHDXMOVDL,ALADDDL,30HMOVAH,2《微机原理与接口技术》课程设计报告-13-INT21HPOPAXMOVDL,ALADDDL,30HMOVAH,24.BCD转换为二进制码DATASEGMENTD1DB12H,34H,56H,78HC1EQU$-D1D2DBC1DUP(?)DATAENDSCODESE

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功