- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
两个数相乘实验
实验二. 两个数相乘的实验
一.实验目的
掌握乘法指令和循环指令的用法
二.实验内容
实现十进制数的乘法。被乘数和乘数均以ASC11码形式存放在内存中,乘积在屏幕上显示出来
三.程序框图
四.实验程序与运行结果
DATA SEGMENT
DATA1 DB 32H,39H,30H,35H,34H
DATA2 DB 33H
RESULT DB 6 DUP (00H)
DATA ENDS
STACK SEGMENT
STA DB 20 DUP (?)
TOP EQU LENGTH STA
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
MOV AX,TOP
MOV SP,AX
MOV SI,OFFSET DATA2
MOV BL,[SI]
AND BL
MOV SI,OFFSET DATA1
MOV DI,OFFSET RESULT
MOV CX,05
LOOP1:MOV AL,[SI]
AND AL
INC SI
MUL BL
AAM
ADD AL,[DI]
AAA
MOV [DI],AL
INC DI
MOV [DI],AH
LOOP LOOP1
MOV CX,06
MOV SI,OFFSET RESULT
ADD SI ,05
DISPL:MOV AH,02
MOV DL,[SI]
ADD DL,30H
INT 21H
DEC SI
LOOP DISPL
MOV AX,4C00H
INT 21H
CODE ENDS
END START
五.实验中遇到的问题及解决的方法
在做实验时,开始结果不对,显示如下
经过分析和思考,发现显示的时候顺序出现了问题,在显示部分前,即LOOP1最后加了ADD SI,05 解决了问题
六.心得与收获
通过实验学会了建立,汇编,链接,调试和运行汇编语言程序的过程,对乘法运算有了更深的认识,同时对汇编语言的编写风格有了一定的了解,在出现问题的时候,能够自己思考解决方案,提高了实践能力。
文档评论(0)