微机原理实验1.doc

微机原理实验1.doc

ID:51447964

大小:232.00 KB

页数:24页

时间:2020-03-24

微机原理实验1.doc_第1页
微机原理实验1.doc_第2页
微机原理实验1.doc_第3页
微机原理实验1.doc_第4页
微机原理实验1.doc_第5页
资源描述:

《微机原理实验1.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验一两个多位十进制数相减实验一.实验要求将两个多位十进制数相减,要求被减数,减数均以ASCII码形式按顺序存放在以DATAI和DATA2为首的5个内存单元中(低位在前),结果送回DATAI处。二、实验目的1.学习数据传送和算术运算指令的用法。2.熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。DATASEGMENTDATA1DB33H,39H,31H,37H,38H;第一个数据(作为被减数)DATA2DB36H,35H,30H,38H,32H;第二个数据(作为减数)MES1DB'-','$'MES2DB'

2、=','$'DATAENDSSTACKSEGMENT;堆栈段STADB20DUP(?)TOPEQULENGTHSTASTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVAX,STACKMOVSS,AXMOVAX,TOPMOVSP,AXMOVSI,OFFSETDATA1MOVBX,05CALLDISPL;显示被减数MOVAH,09HLEADX,MES1INT21HMOVSI,OFFSETDA

3、TA2MOVBX,05;显示减数CALLDISPLMOVAH,09HLEADX,MES2INT21HMOVSI,OFFSETDATA1MOVDI,OFFSETDATA2CALLSUBA;减法运算MOVSI,OFFSETDATA1MOVBX,05;显示结果CALLDISPLMOVDL,0DHMOVAH,02HINT21HMOVDL,0AHMOVAH,02HINT21HINT21HMOVAX,4C00HINT21HDISPLPROCNEAR;显示子功能DSI:MOVAH,02MOVDL,[SI+BX-1];显示字符串中一字符

4、INT21HDECBX;修改偏移量JNZDSIRETDISPLENDPSUBAPROCNEARMOVDX,SIMOVBP,DIMOVBX,05SU1:SUBBYTEPTR[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

5、;结果送被减数区INCSIINCDI;指向下一位LOOPSU2;循环MOVSI,DXMOVDI,BPMOVBX,05SU3:ADDBYTEPTR[SI+BX-1],30HADDBYTEPTR[DI+BX-1],30HDECBX;十六进制的数字串转化ASCII码表示的数字串JNZSU3RETSUBAENDPCODEENDSENDSTART实验二两个数相乘的实验一.实验要求实现十进制数的乘法,被乘数和乘数均以ASCII码形式存放在内存中,算式结果在屏幕上显示出来。二.实验目的掌握乘法指令和循环指令的用法。DATASEGMEN

6、TDATA1DB32H,39H,30H,35H,34HDATA2DB34HMES1DB'*','$'MES2DB'=','$'RESULTDB6DUP(00H)DATAENDSSTACKSEGMENTSTADB20DUP(?)TOPEQULENGTHSTASTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AXMOVSP,TOPLEASI,DATA1MOVBX,05HL1:MO

7、VAH,02HMOVDL,[SI+BX-1]INT21HDECBXJNZL1MOVAH,09HLEADX,MES1INT21HLEASI,DATA2MOVAH,02HMOVDL,[SI]INT21HMOVAH,09HLEADX,MES2INT21HMOVSI,OFFSETDATA2;显示算式MOVBL,[SI];乘数DATA2→BLANDBL,00001111B;屏蔽高4位,ASCII码转化为十六进制数MOVSI,OFFSETDATA1MOVDI,OFFSETRESULTMOVCX,05LOOP1:MOVAL,[SI]A

8、NDAL,00001111B;取被乘数DATA1,ASCII变十六进制数INCSI;指向被乘数1的下一字符单元MULBL;相乘AAM;AAM调整ADDAL,[DI];结果低位与前次计算的进位相加AAA;AAA调整MOV[DI],ALINCDI;结果送存到下一单元MOV[DI],AHLOOPLOOP1;计算结果高位进位

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。