资源描述:
《昆明理工大学信息工程与自动化学院学生实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、(2008——2008学年第二学期)课程名称:微机系统及接口开课实验室:32232009年4月10日年级、专业、班计科062班学号200610405202姓名常建卯成绩实验项目名称无符号二进制整数除法指导教师江虹教师评语该同学是否了解实验原理:A.了解口B.基本了解口C.不了解口该同学的实验能力:A.强口B.屮等口C.差口师该同学的实验是否达到要求:A.达到口B.基本达到口C.未达到口实验报告是否规范:A.规范口B.基木规范口C.不规范口实验过程是否详细记录:A.详细口B・一般口C.没有口评注:5个A为优,5
2、个B为中,介于二者间为良,5个C为不及格,3个B以上为及格。教师签名:年月日一、实验目的掌握MCS-51汇编语言程序设计方法。二、实验原理MCS-51单片机虽然冇一条单字节除法指令,但很难用于多字节除法。多字节除法一般采用类似于手工算除法的方法。首先对被除数高位和除数进行比较,如果被除数高位大于除数高位,则商为1,并从被除数减去除数,形成一个部分余数;如果被除数高位小于除数,商值为0不执行减法。接着把部分余数左移一位,并与被除数再比较。如此循环直至被除数的所有位都处理完为止。一般商如果为n位,则需循环n次。这
3、种除法先比较被除数和除数的大小,根据比较结果确定商0或1,并且商1才执行减法,并称Z为比较法。一般情况下,如果除数和商均为双字,则被除数为4字节,如果被除数的高两字节大于或等于除数,则商不能用双字节表示,即发生溢出。所以在除法之前,先检查是否会发牛溢出,如果溢出则置溢出标志不执行除法。比较除法程序框图见图5-1o三、实验内容下而给岀的实验程序为一双字节二进制除法子程序,其功能为将无符号的二进制数(R2R3R4R5)除以(R4R5),余数存放于(R2R3)。要求:1、读懂程序并为实验程序注释。2、将实验储蓄译成
4、机器码,并进行地址代真。3、将机器语言程序输入实验机运行调试。四、参考程序清单org00hndiv:mova』3clrcsubba,r7mova,r2subba,r6jncndvcmovb,#10hndvl:clrcmova,r5rlcamovr5,amova,r4rlcamovr4,amova,r3rlcamovr3,axcha,r2rlcaxcha,r2movfO,cclrcsubba,r7movrl,amova,r2subba,「6jbfO^ndvmjcndvdndvm:movr2,amova,rlmo
5、v「3,aincr5ndvd:djnzb,ndvlclrtnsjmp$ndvc:sctbfOsjmp$end五、实验步骤1、打开keilc程序,在菜单栏里单击project/newproject,输入新建的工程的名7,save然后选择cpu的名称,almel的at89c51芯片,在弹出的对话框里选择no。2、单击菜单栏里的file/new,然后输入代码,保存为*.asm格式。3、右击projectworkspace里的工程,选择addfileto。找出刚才保存的asm文件。4、在工具栏里选择buildtarg
6、et5、在没有错误的时候,在debug里选择start...运行程序。可以单步执行程序。6、程序执行,修改寄存器的内容进行程序校验。7、先用修改寄存器内容的方法,设置程序入口参数,然后启动运行,检查运行结果,如果有错,则釆用单步或断点的运行方法,逐段检查运行程序,用不同的参数测试程序,直至正确。调试数据被除数除数商数余数(R2R3R4R5)(R6R7)(R4R5)(R2R3)EFFFFFFFFFFFF000EFFFFFFFOOOFFFFFFFFOOFFFFOOOOOOFFOOFFFFFFOOOOOOFFOOO
7、OFF1000()000六、实验结果输入第一组数据:3321・9^kxi3・(C:UsersSUPERCHANGDcsktopTextl.asm]电唱a二戸沽鬼氏圈三]此声•今尬❺画凰国]O•好E■21x
8、
9、PropelWorkspace*x01orgOOh三RoasterIVaih<>0203ndiv:mov3,r3clrcBRegs04subba,r7-rt)(kOO05nova,r2r1(kOO06subb®r6Q07jncndvey08»ovb,#IOhr3Mt09ndvl:clrcr4Mf1
10、0mov3,r5r5Mf11rlcar€M12novrS,anova,r4■JhUL&l5▼I闫■♦»▼
11、-Textl諏Dis&sseatfy曰FileEditViewProjectDebugFlashPeripheralsToolsSVCSWindowHelp倉E日0答自