汇编语言实现用16位乘法指令完成32位无符号数乘法

汇编语言实现用16位乘法指令完成32位无符号数乘法

ID:6883102

大小:278.00 KB

页数:12页

时间:2018-01-29

汇编语言实现用16位乘法指令完成32位无符号数乘法_第1页
汇编语言实现用16位乘法指令完成32位无符号数乘法_第2页
汇编语言实现用16位乘法指令完成32位无符号数乘法_第3页
汇编语言实现用16位乘法指令完成32位无符号数乘法_第4页
汇编语言实现用16位乘法指令完成32位无符号数乘法_第5页
资源描述:

《汇编语言实现用16位乘法指令完成32位无符号数乘法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、《微型计算机原理与接口技术》实验报告一、程序设计题目一三十二位无符号乘法1设计分析:(1)程序设计任务:用十六位乘法指令完成三十二位无符号数乘法(结果64位)。使用MUL指令,完成双字无符号数乘法程序,要求乘数和被乘数从键盘输入,结果显示于屏幕上。(2)程序设计要求:1)从键盘输入两个乘数(十六进制)2)结果显示于屏幕上(十六进制)(3)程序设计过程:1)定义数据段用于开辟缓冲区存储输入数据、输出数据和乘积。2)从键盘分别输入两个八位数字符(三十二字节)存入缓冲区(分4次输入,每次输入4个字符,前两次为被乘数的高位与低位,后两次为乘数的高位与低位)3)对缓冲区输入的字符进行

2、处理,让Ascal码转换为数值本身的数值。4)把三十二位分割成两位十六位,分别对其进行十六位的乘法。5)将四个十六位乘法的乘积按照各自的位相加的最终乘积6)对所得结果进行处理,让Ascal码转换为数值本身的数值7)将结果向屏幕输出。2、算法(一个框代表16位2进制数)3、X2X11616y2y11616161616161616161616161616P+6p+4p+2p开始2、程序流程图:初始化输入被乘数的高位的4个字符X2输入被乘数的低位的4个字符X1输入乘数的高位的4个字符y2输入乘数的低位的4个字符y1开始运算乘法被乘数低位4个字符x1和乘数低位4个字符y1相乘结果低

3、位存入p,高位存入p+2被乘数高位4个字符x2和乘数低位4个字符y1相乘结果低位存入p+2,高位存入p+4被乘数低位4个字符x1和乘数高位4个字符y2相乘结果低位存入p+2,高位存入p+4被乘数高位4个字符x2和乘数高位4个字符y2相乘结果低位存入p+4,高位存入p+6乘积相加输出结果162、测试数据与运行结果:输入被乘数的高位的4个字符X2:输入被乘数的低位的4个字符X1:输入乘数的高位的4个字符y2:输入乘数的低位的4个字符y1:运行结果:2、程序源代码及注解:ddatasegmentx1dw16dup(?)x2dw16dup(?)y1dw16dup(?)y2dw16d

4、up(?)pdw30dup(?)keybufdb10dup(?)ddataends;定义数据段ccodesegmentassumecs:ccode,ds:ddatastart:movax,ddatamovds,axmovdx,offsetkeybufmovbx,dxmov[bx],byteptr9movah,0ahint21hmovah,[bx+2]moval,[bx+3]shlal,4shrax,4movdh,almovah,[bx+4]moval,[bx+5]shlal,4shrax,4movdl,almovx2,dx;输入被乘数的高位的4个字符x2movdx,offs

5、etkeybufmovbx,dxmov[bx],byteptr9movah,0ahint21hmovah,[bx+2]moval,[bx+3]shlal,4shrax,4movdh,almovah,[bx+4]moval,[bx+5]shlal,4shrax,4movdl,almovx1,dx;输入被乘数的低位的4个字符x1movdx,offsetkeybufmovbx,dxmov[bx],byteptr9movah,0ahint21hmovah,[bx+2]moval,[bx+3]shlal,4shrax,4movdh,almovah,[bx+4]moval,[bx+5]

6、shlal,4shrax,4movdl,almovy2,dx;输入乘数的高位的4个字符y2movdx,offsetkeybufmovbx,dxmov[bx],byteptr9movah,0ahint21hmovah,[bx+2]moval,[bx+3]shlal,4shrax,4movdh,almovah,[bx+4]moval,[bx+5]shlal,4shrax,4movdl,almovy1,dx;输入乘数的低位的4个字符y1movax,x1movdx,y1muldxmov[p],axmov[p+2],dx;被乘数低位4字符x1和乘数低位4字符y1相乘结果低位存入p,高

7、位存入p+2movax,x2movdx,y1muldxadd[p+2],axadc[p+4],dx;被乘数高位4字符x2和乘数低位4字符y1相乘结果低位存入p+2,高位存入p+4movax,x1movdx,y2muldxadd[p+2],axadc[p+4],dxadc[p+6],0;被乘数低位4个字符x1和乘数高位4个字符y2相乘结果低位存入p+2,高位存入p+4movax,x2movdx,y2muldxadd[p+4],axadc[p+6],dx;被乘数高位4个字符x2和乘数高位4个字符y2相乘结果低位存入p+

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

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

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