资源描述:
《燕山大学微机原理作业8.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《微型计算机原理及应用》作业作业组别:第八组班级:12级机控2班姓名:吴东升学号:120101010241项目指导教师:李艳文、张庆玲、赵玉勤、王志松朱学军、王鑫、陈子明项目完成时间:2015年5月25日目录作业一1一、题目分析描述及要求1二、寄存器及贮存的应用说明1三、程序框图2四、详细程序2五、程序调试的情况、程序运行的结果的分析5作业二5一、题目的分析描述及要求5二、寄存器及主存等的应用说明5三、程序框图6四、详细程序6五、程序的调试情况、程序运行的结果的分析9作业三9一、题目的分析描述及要求9二、寄存器及贮存等的应用说明9三、程序框图10四、详细程序11五、程序的调试情况、程序
2、运行的结果的分析13作业一一、题目分析描述及要求输入“*”,字变量NUMA中的数分别与字变量NUMB中的数无符号相乘,结果存入双字变量NUMC。输入“/”,NUMA中的数分别与NUMB中的数无符号相除,结果存入双字变量NUMC(商在前,余数在后)。二、寄存器及贮存的应用说明在编写程序过程中,用到了AX,BX,DX,SI四个寄存器。AX常作为累加器,使用频率最高,用于算术运算、逻辑运算以及与外设传送信息等。BX常作为基址寄存器,用来存放存储器地址。DX常作为数据寄存器,常用来存放双字长数据的高16位或存放外设端口地址SI是源地址寄存器。DI是目的寄存器。程序运行过程中,共使用了3种寻址方
3、式。立即数寻址,如movah,09h;寄存器寻址,如mov,bl,al;寄存器间接寻址,如movax,wordptrnuma[si]。13三、程序框图四、详细程序.MODELSMALL.STACK.DATANUMADW1010H,2011H,3012H,4013H,5060HCOUNTEQU($-NUMA)/2NUMBDW0090H,0081H,0066H,003AH,004CHNUMCDDCOUNTDUP(?)ERRORDB0DH,0AH,'ERROR!$'.CODE.STARTUPmovsi,013movdi,0movcx,count;设置循环次数movah,01h;调用DOS01
4、号功能输入一个字符int21hcmpal,'*';若为*跳转fun0jefun0cmpal,'/'jefun1;若为/跳转fun1jmpfun2;都不是跳转fun2fun0:movax,numa[si]movbx,numb[si]mulbx;字乘法高位存在DX,低位存在AXmovwordptrnumc[di],ax;低位存在双字的第四位adddi,2;di加2movwordptrnumc[di],dx;高位存在双字的高字节addsi,2;si加2adddi,2;di加2loopfun0;结束循环jmpnext;跳转NEXT13fun1:movdx,0movax,numa[si]movb
5、x,numb[si]divbx;字除法,余数存在DX,商存在AXmovwordptrnumc[di],ax;商存在双字的低四位adddi,2;di加2movwordptrnumc[di],dx;余数存在双字的高四位addsi,2;si加2adddi,2;di加2loopfun1;结束循环jmpnext;跳转nextfun2:;显示错误movah,09hmovdx,offseterrorint21hnext:.EXITEND13五、程序调试的情况、程序运行的结果的分析结果调试正确,能够正确的将数组之中的数依次做无符号乘法与无符号除法,并且运行结果正确,没有需要改进的地方。作业二一、题目的
6、分析描述及要求内存source存入十个字节数,要求其用十六进制数显示(包含H),每行显示一个。二、寄存器及主存等的应用说明在编写程序过程中,用到了AX,BX,CX,DX,SI五个寄存器。AX常作为累加器,使用频率最高,用于算术运算、逻辑运算以及与外设传送信息等。BX常作为基址寄存器,用来存放存储器地址。CX常作计数器,作为循环和串操作等指令中的隐含计数器。DX常作为数据寄存器,常用来存放双字长数据的高16位或存放外设端口地址。13SI是源地址寄存器。程序运行过程中,共使用了3种寻址方式。立即数寻址,如movah,09h;寄存器寻址,如movdl,bh;寄存器间接寻址,如movbh,[s
7、i]。三、程序框图四、详细程序.MODELSMALL.STACK13.DATASOURCEDB23H,19H,1AH,2AH,15H,3CH,81H,98H,1AH,2DHCOUNTEQU$-SOURCECRLFDB0DH,0AH,'$'.CODE.STARTUPmovcx,count;设置循环次数cx=10movsi,offsetsource;si取source的偏移地址again:movbh,[si];[si]→bhpushbx;bxcx入