资源描述:
《大连理工大学计算机原理实验二》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《计算机原理实验报告》实验(二)名称:循环程序设计一、实验目的:1.加深对循环结构的理解2.掌握循环结构程序设计的方法3.熟练掌握调试循环结构程序设计的方法二、实验要求:某数据区的第一单元存放数据个数10,从第二单元开始存放数据,在区最后3个单元存放负数个数,0的个数,正数个数。三、编程算法与说明:采用循环结构。定义数据单元名为buf的单元存放数据个数,10个数据以及负数、零、正数的个数。通过loop循环分别计算负数、零、正数的个数,并存入d1中,用dos2号指令输出,并使用宏指令完成换行回车。四、实验中相关模块的连接逻辑
2、图(实验电路图):无五、程序流程图START寄存器赋初始值CX=10CMPbuf[bx],0z=z+1BX=BX+1ENDx:储存正数个数y:储存负数个数z:储存零的个数x=x+1LOOPCX=0?等于y=y+1大于小于NO输出与显示YES六、程序清单:datasegmentparacountdb10bufdb-2,0,6,41,23,-52,32,12,17,0,resultdb3dup(?)str1db'neg:',0dh,0ah,'$'str2db'pos:',0ah,0dh,'$'str3db'zero:',0ah
3、,0dh,'$'msgdb0ah,0dh,'$'dataendsss_segsegmentstackdw100dup(0)ss_segendscodesegmentparaassumecs:code,ss:ss_seg,ds:datamainprocfarmovax,datamovds,axmovcx,10movbx,0movdx,0moval,0circle:cmpbuf[bx],0jllessjggreatincalback:incbxloopcirclejmpnextless:incdljmpbackgreat:in
4、cdhjmpbacknext:movbx,0movresult[bx],dlincbxmovresult[bx],dhincbxmovresult[bx],alpushaxpushdxleadx,str1movah,9int21hpopdxadddl,30hmovah,2int21hpushdxleadx,msgmovah,9int21hleadx,str2movah,9int21hpopdxmovdl,dhadddl,30hmovah,2int21hleadx,msgmovah,9int21hleadx,str3mova
5、h,9int21hpopaxmovdl,aladddl,30hmovah,2int21hmovax,4c00hint21hmainendpcodeendsendmain七、实验结果:八、实验体会通过本次实验,不仅使我学习并巩固了循环体程序的设计方法,而且也使我更加熟练的掌握了启用TD调试可执行文件的方法。通过TD调试界面,我轻松的发现了通过检查程序数遍也未发现的问题,这使我深刻的体会到调试方法的重要性。学生签字:日期:_______________