北理工汇编上机实验2

北理工汇编上机实验2

ID:19939480

大小:180.42 KB

页数:4页

时间:2018-10-08

北理工汇编上机实验2_第1页
北理工汇编上机实验2_第2页
北理工汇编上机实验2_第3页
北理工汇编上机实验2_第4页
资源描述:

《北理工汇编上机实验2》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验2—BCD码相乘:实现BCD码的乘法,要求被乘数和乘数(0~99)以压缩BCD码形式存放,各占1个字节内存单元。乘积存放在另外2个字节内存单元中。开始流程图:将上一步得到的结果由高位到低位输出将积除以10,取余数做最低位;然后再将前一次所得商循环除以10,做次低位。循环4次将乘数转换成十进制数送进AL中,再用mul指令使BH中的被乘数与AL中的乘数相乘,并将结果送进AX中将AL中被乘数转换成十进制数送进BH将乘数、被乘数分别赋予D1,D2二、源代码DATASEGMENTD1DB11HD2DB99HDATAENDSCODESEGMENTAS

2、SUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,D1ANDAL,0F0HMOVCL,4SHRAL,CL;取出高位MOVDL,0AH;乘10准备MULDLMOVBL,D1ANDBL,0FH;取出低位ADDAL,BLMOVBH,AL;对第二个乘数MOVAL,D2ANDAL,0F0HMOVCL,4SHRAL,CLMOVDL,0AHIMULDLMOVBL,D2ANDBL,0FHADDAL,BLMULBH;两数相乘,得数送到AX中MOVCX,4NEXT:MOVDX,0;存余数的地方先清零MOVBX,10

3、;除数为10,商在AX中,余数在DX中DIVBXXCHGAX,DX;因为DX不能被push,而AX才能被PUSH,所以交换商和余数的位置PUSHAXMOVAX,DX;换回商和余数,准备输出次低位LOOPNEXTMOVCX,4DISPLAY:POPAX;堆栈后入先出,所以最先pop出的是最高位ADDAL,30H;ASCii显示出MOVDL,ALMOVAH,02HINT21HLOOPDISPLAYMOVAH,4CHINT21HCODEENDSENDSTART三、Debug:由于我把乘积存入了AX寄存器中,而没有在数据段定义出乘积的存储空间,所以我

4、的DS段没有变化。验证了之前说过的数据段可有可无。

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

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

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