16位乘法指令完成32位无符号数乘法微机接口课程设计毕业设计(论文).doc

16位乘法指令完成32位无符号数乘法微机接口课程设计毕业设计(论文).doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
   《微机原理与接口技术》课程设计 题目一:用16位乘法指令完成32位无符号数乘法 要求:以十六进制格式输入乘数与被乘数,以十六进制格式显示结果,两个数相乘。十六进制输入,十六进制输出。 设计思路:实现2个32位无符号数的相乘,被乘数在DX和AX寄存器中,乘数在CX和BX寄存器中,最后的64位乘积在DX,CX,BX,AX,中。 程序代码如下: data segment p1 db Input the first number:$ p2 db 0dh,0ah,Input the second number:$ p3 db 0dh,0ah,The result is:$ p4 db 0dh,0ah,Error!,$ key1 db 11 dup(?) key2 db 11 dup(?) x db 4 dup(?) y db 4 dup(?) p dw 4 dup(?) data ends sstack segment stack stack db 100h dup(?) sstack ends code segment main proc far assume cs:code,ds:data start:   mov ax,data mov ds,ax mov dx,offset p1 mov ah,09h int 21h    ; 显示 p1 mov dx,offset x mov si,dx mov dx,offset key1 mov bx,dx mov [bx],byte ptr 9 mov ah,0ah  ;输入第一个数 int 21h mov dx,offset key1 call switch mov dx,offset p2 mov ah,09h int 21h   ;显示p2 mov dx,offset y mov si,dx mov dx,offset key2 mov bx,dx mov [bx],byte ptr 9 mov ah,0ah ;输入第二个数 int 21h call switch    mov ah,x+2  ;2个数乘法 mov al,x+3  ;x1 mov bh,y+2 mov bl,y+3  ;y1 mul bx  ;x1*y1 mov p+2,dx mov p,ax mov ah,x mov al,x+1   ;x2 mul bx   ;x2*y1 add p+2,ax adc p+4,dx mov ah,x+2 mov al,x+3   ;x1 mov bh,y mov bl,y+1   ;y2 mul bx   ;x1*y2 add p+2,ax adc p+4,dx adc p+6,0 mov ah,x mov al,x+1 ;x2 mul bx

文档评论(0)

2749166188 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档