- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                汇编语言实现用16位乘法指令完成32位无符号数乘法
                    《微型计算机原理与接口技术》实验报告
一、程序设计
题目一   三十二位无符号乘法
1 设计分析:
(1)程序设计任务:
用十六位乘法指令完成三十二位无符号数乘法(结果64位)。 使用MUL指令,完成双字无符号数乘法程序,要求乘数和被
乘数从键盘输入,结果显示于屏幕上。
 2 程序设计要求:
1 从键盘输入两个乘数(十六进制)
2 结果显示于屏幕上(十六进制)
(3)程序设计过程: 1  定义数据段用于开辟缓冲区存储输入数据、输出数据和乘积。 2 从键盘分别输入两个八位数字符(三十二字节)存入缓冲区(分4次输入,每次输入4个字符,前两次为被乘数的高位与低位,后两次为乘数的高位与低位) 3 对缓冲区输入的字符进行处理,让Ascal码转换为数值本身的数值。
4 把三十二位分割成两位十六位,分别对其进行十六位的乘法。
5 将四个十六位乘法的乘积按照各自的位相加的最终乘积
6 对所得结果进行处理,让Ascal码转换为数值本身的数值
7 将结果向屏幕输出。
算法(一个框代表16位2进制数) X2 X1 y2 y1 P+6 p+4    p+2 p
程序流程图:
测试数据与运行结果:
输入被乘数的高位的4个字符X2:
输入被乘数的低位的4个字符X1:
输入乘数的高位的4个字符y2:
输入乘数的低位的4个字符y1:
运行结果:
程序源代码及注解:
ddata segment
x1 dw 16 dup x2 dw 16 dup y1 dw 16 dup y2 dw 16 dup p dw 30 dup keybuf db 10 dup ddata ends ; 定义数据段
ccode segment assume cs:ccode,ds:ddata
start:mov ax,ddata mov ds,ax mov dx,offset keybuf mov bx,dx mov [bx],byte ptr 9 mov ah,0ah int 21h mov ah,[bx+2] mov al,[bx+3] shl al,4 shr ax,4 mov dh,al mov ah,[bx+4] mov al,[bx+5] shl al,4 shr ax,4 mov dl,al mov x2,dx ;输入被乘数的高位的4个字符x2 mov dx,offset keybuf mov bx,dx mov [bx],byte ptr 9 mov ah,0ah int 21h mov ah,[bx+2] mov al,[bx+3] shl al,4 shr ax,4 mov dh,al mov ah,[bx+4] mov al,[bx+5] shl al,4 shr ax,4 mov dl,al mov x1,dx ; 输入被乘数的低位的4个字符x1 mov dx,offset keybuf mov bx,dx mov [bx],byte ptr 9 mov ah,0ah int 21h mov ah,[bx+2] mov al,[bx+3] shl al,4 shr ax,4 mov dh,al mov ah,[bx+4] mov al,[bx+5] shl al,4 shr ax,4 mov dl,al mov y2,dx ; 输入乘数的高位的4个字符y2 mov dx,offset keybuf mov bx,dx mov [bx],byte ptr 9 mov ah,0ah int 21h mov ah,[bx+2] mov al,[bx+3] shl al,4 shr ax,4 mov dh,al mov ah,[bx+4] mov al,[bx+5] shl al,4 shr ax,4 mov dl,al mov y1,dx ; 输入乘数的低位的4个字符y1
mov ax,x1
mov dx,y1
mul dx
mov [p],ax
mov [p+2],dx ;被乘数低位4字符x1和乘数低位4字符y1相乘结果低位存入p,高位存入p+2
mov ax,x2
mov dx,y1
mul dx
add [p+2],ax
adc [p+4],dx ; 被乘数高位4字符x2和乘数低位4字符y1相乘结果低位存入p+2,高位存入p+4
mov ax,x1
mov dx,y2
mul dx
add [p+2],ax
adc [p+4],dx
adc [p+6],0 ; 被乘数低位4个字符x1和乘数高位4个字符y2相乘结果低位存入p+2,高位存入p+4
mov ax,x2 mov dx,y2
mul dx
add [p+4],ax
adc [p+6],dx ; 被乘数高位4个字符x2和乘数高位4个字符y2相乘结果低位存入p+4,高位存入p+6
mov al,byte pt
                您可能关注的文档
最近下载
- 《认识立体图形》精品课件.pptx VIP
 - 2023年资料员资格考试题库答案下载.docx
 - 猪场安全生产管理制度.doc VIP
 - 2023年资料员资格考试题库【轻巧夺冠】.docx
 - 建筑十大员之安全员考试试题库及答案(共十套).pdf VIP
 - 儿童暴发性心肌炎诊治专家建议(2025).pptx VIP
 - 2022年土地登记代理人题库700道含答案(巩固).docx
 - (正式版)D-L∕ T 634.5104-2009 远动设备及系统 第5-104部分:传输规约 采用标准传输规约集的IEC 60870-5-101网络访问.docx VIP
 - 2023年最新资料员考试题库附参考答案【精练】.docx
 - 2022—2023 学年高一上学期期中考试英语试卷(新高考)(山东版)笔试部分.docx VIP
 
原创力文档
                        

文档评论(0)