汇编上机题两个数相乘Word下载.docx
《汇编上机题两个数相乘Word下载.docx》由会员分享,可在线阅读,更多相关《汇编上机题两个数相乘Word下载.docx(6页珍藏版)》请在冰豆网上搜索。
实验名称
两位非压缩型的BCD码相乘
1.实验目的
将A中的两位非压缩的BCD码与B中的两位BCD码相乘,其结果放在变量C中。
2.实验内容
1.理解非压缩BCD码的概念,编程实现非压缩BCD码乘法。
2.编程实现C=A*B,其中A、B单元分别存放着两位用非压缩BCD码表示的十进制数。
3.实验环境
计算机,MASM5.0软件
4.实验方法和步骤
DATESEGMENT
TISHIADB'
PleaseinputanumbertoA:
$'
TISHIBDB'
PleaseinputanumbertoB:
TISHICDB'
resoultC=A*B=$'
TISHINONUMDB'
Theelementyouinputisnotanumble!
'
0DH,0AH,'
PLEASEINPUTANUMBERAGAIN!
ADW?
BDW?
CDW?
DATEENDS
CODESEGMENT
MAINPROCFAR
ASSUMECS:
CODE,DS:
DATE
START:
PUSHDS
SUBAX,AX
PUSHAX
MOVAX,DATE
MOVDS,AX
LEADX,TISHIA
MOVAH,9H
INT21H
CALLINPUT;
输入A
MOVA,BX
LEADX,TISHIB
输入B
MOVB,BX
LEADX,TISHIC
MOVAX,A
AAD
MOVBX,AX
MOVAX,B
MULBX
MOVWORDPTRC,AX
MOVWORDPTRC+2,DX
MOVDI,0AH
MOVCX,0
HUATEN:
;
转化为十进制
DIVDI
PUSHDX
INCCX
CMPAX,0
JENEXT
CWD
JMPHUATEN
NEXT:
输出结果
POPDX
ADDDL,30H
MOVAH,2H;
输出一个字符
LOOPNEXT
RET
MAINENDP
INPUTPROC
MOVBX,0
INPUTA:
MOVAH,1H;
调用1号功能输入一个字符
CMPAL,30H;
用于判断是不是小于0
JBERROR
CMPAL,39H;
判断是不是大于9
JAERROR
SUBAL,30H;
用于转换为十进制
MOVBL,AL
MOVAH,1H
CMPAL,0DH
JEEXIT
CMPAL,30H
CMPAL,39H
SUBAL,30H
MOVCL,8;
用于移位操作
ROLBX,CL
JMPEXIT
ERROR:
CALLCRLF
LEADX,TISHINONUM
MOVAH,9H;
调用9号功能输出一个字符串在跳回
JMPINPUTA
EXIT:
INPUTENDP
CRLFPROCNEAR
MOVDL,0AH;
换行
MOVAH,2H
MOVDL,0DH;
回车
CRLFENDP
CODEENDS
ENDSTART
5.程序及测试结果
6.实验分析与体会
通过本次实验,学到了很多东西,最主要的是熟悉和了解了非压缩BCD编码的乘法运算法则,更好的了解了计算机的数据存储方式,
学程序过程中遇到了不少问题,通过与同学探讨,学习,找资料,还是把程序调试出来了,从中不仅学到了本专业的知识更重要的是知道怎样去获取知识。
实验日期:
2013年10月16日
教师评语
签名:
年月日