资源描述:
《两个多位十进制数相减实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、太原师范学院实验报告续页太原师范学院实验报告报告内容一、实验目的四、实验方法二、实验原理五、实验记录及数据处理三、实验仪器及材料六、误差分析及讨论ExperimentationReportofTaiyuanteachersCollege系部计算机系年级0903课程微机原理姓名郝耀君同组者无日期2011.4.27项目两个多位十进制数相减实验一、实验要求将两个多位十进制数相减,要求被减数,减数均以ASCII码形式按顺序存放在以DATAI和DATA2为首的5个内存单元中(低位在前),结果送回DATAI处。二、实验目的1.学习数
2、据传送和算术运算指令的用法。2.熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。三、实验程序DATASEGMENTDATA1DB33H,39H,31H,37H,38H;第一个数据(作为被减数)DATA2DB36H,35H,30H,38H,32H;第二个数据(作为减数)MES1DB'-','$'MES2DB'=','$'DATAENDSSTACKSEGMENT;堆栈段STADB20DUP(?)TOPEQULENGTHSTA太原师范学院实验报告续页STACKENDSCODESEGMENTASSUMECS:COD
3、E,DS:DATA,SS:STACK,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVAX,STACKMOVSS,AXMOVAX,TOPMOVSP,AXMOVSI,OFFSETDATA1MOVBX,05CALLDISPL;显示被减数MOVAH,09HLEADX,MES1INT21HMOVSI,OFFSETDATA2MOVBX,05;显示减数CALLDISPLMOVAH,09HLEADX,MES2INT21HMOVSI,OFFSETDATA1MOVDI,OFFSETDATA2CALLSU
4、BA;减法运算MOVSI,OFFSETDATA1MOVBX,05;显示结果CALLDISPLMOVDL,0DHMOVAH,02HINT21HMOVDL,0AHMOVAH,02HINT21HINT21HMOVAX,4C00HINT21HDISPLPROCNEAR;显示子功能DSI:MOVAH,02太原师范学院实验报告续页MOVDL,[SI+BX-1];显示字符串中一字符INT21HDECBX;修改偏移量JNZDSIRETDISPLENDPSUBAPROCNEARMOVDX,SIMOVBP,DIMOVBX,05SU1:SUB
5、BYTEPTR[SI+BX-1],30HSUBBYTEPTR[DI+BX-1],30HDECBX;将ASCII码表示的数字串JNZSU1;转化为十六进制的数字串MOVSI,DXMOVDI,BPMOVCX,05;包括进位,共5位CLC;清进单位SU2:MOVAL,[SI]MOVBL,[DI]SBBAL,BL;带进位相减AAS;非组合BCD码的减法调整MOV[SI],AL;结果送被减数区INCSIINCDI;指向下一位LOOPSU2;循环MOVSI,DXMOVDI,BPMOVBX,05SU3:ADDBYTEPTR[SI+BX
6、-1],30HADDBYTEPTR[DI+BX-1],30HDECBX;十六进制的数字串转化ASCII码表示的数字串JNZSU3RETSUBAENDPCODEENDSENDSTART