资源描述:
《实验一多位十进制数相减实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、南昌大学实验报告学生姓名:林海金学号:6100210178专业班级:卓越通信101班实验类型:n验证□综合□设计□创新实验日期:2012-5-15实验成绩:一、实验项目名称实验一、多位十进制数相减实验二、实验目的(1)学习数据传送和算术运算指令的用法。(2)熟悉在PC机上建立、汇编、连接、调试和运行汇编语言的过程。三、实验要求将两个多位十进制数相减,要求被减数、减数均以ASCII码形式按顺序存放在以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。实验程序框图如下图所示:四、实验程序DA
2、TASEGMENTDATA1DB33H,39H,31H,37H,38H;DATA2DB36H,35H,30H,38H,32H;MES1DB'-','$'MES2DB'=','$'DATAENDSSTACKSEGMENTSTADB20DUP(?)TOPEQULENGTHSTASTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVAX,STACKMOVSS,AXMOVAX,TOPMOVSP
3、,AXMOVSI,OFFSETDATA1MOVBX,05CALLDISPLMOVAH,09HLEADX,MES1INT21HMOVSI,OFFSETDATA2MOVBX,05CALLDISPLMOVAH,09HLEADX,MES2INT21HMOVSI,OFFSETDATA1MOVSI,OFFSETDATA2CALLSUBAMOVSI,OFFESTDATA1MOVBX,05CALLDISPLMOVDL,0DHMOVAH,02HINT21HMOVAX,4C00HINT21HDISPLPROCNEARDSI:MOVAH
4、,02MOVDL,[SI+BX-1]INT21HDECBXJNZDSIRETDISPLENDPSUBAPROCNEARMOVDX,SIMOVBP,DIMOVBX,05SU1:SUBBYTEPTR[SI+BX-1],30HSUBBYTEPTR[DI+BX-1],30HDECBXJNZSU1MOVSI,DXMOVDI,BPMOVCX,05CLCSU2:MOVAL,[SI]MOVBL,[DL]SBBAL,BLAASMOV[SI],ALINCSIINCDI实验程序框图LOOPSU2MOVSI,DXM0VDI,BPMOVBX
5、,05SU3:ADDBYTEPTR[SI+BX-1],30HADDBYTEPTR[DI+BX-1],30HDECBXJNZSU3RETSUBAENDPCODEENDSENDSTART五、实验步骤1、先进入DOS系统,按照路径进入EDIT编写上述程序1.ASM,并保存;2、用MASM编译1.ASM产生1.OBJ,在用LINK链接1.OBJ,最后用DEBUG调试1.EXE;3、运行程序,看结果是否正确。4、实验结果如下图:六、实验小结1、进入DOS系统时一定要注意DOS系统的基本命令。2、通过上机实验,进一步了解数据的
6、传送过程。3、要多加练习,熟悉在建立、汇编、连接、调试和运行汇编语言的过程。4、实验过程中可能会遇到程序出错,我们要细心寻找错误并逐一改正。5、最终的结果显示,我们的程序是正确的。