16位乘法指令完成32位无符号数乘法微机接口课程设计.doc
《16位乘法指令完成32位无符号数乘法微机接口课程设计.doc》由会员分享,可在线阅读,更多相关《16位乘法指令完成32位无符号数乘法微机接口课程设计.doc(11页珍藏版)》请在沃文网上搜索。
1、微机原理与接口技术课程设计 17周 B330 微机原理与接口技术课程设计题目一:用位乘法指令完成位无符号数乘法、 要求:以十六进制格式输入乘数与被乘数,以十六进制格式显示结果,两个数相乘。十六进制输入,十六进制输出。、 设计思路:实现个位无符号数的相乘,被乘数在和寄存器中,乘数在和寄存器中,最后的位乘积在,中。、 程序代码如下: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!,
2、$ key1 db 11 dup(?) key2 db 11 dup(?) x db 4 dup(?) y db 4 dup(?) p dw 4 dup(?)data endssstack segment stack stack db 100h dup(?)sstack endscode segmentmain proc far assume cs:code,ds:datastart: 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
3、 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;个数乘法 mov al,x+3 ;x1 mov bh,y+2 mov bl,y+3 ;
4、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 ;x2*y2 add p+4,ax adc p+6,dx mov dx,offset p3;取出结果 mov ah,09 int 21h mov bx,
5、offset p ;显示结果 mov ch,8loop2: mov al,bx+7 push ax and al,0f0h;保留al的高位,清零低位 mov cl,4 shr al,cl;将al右移位 add al,30h cmp al,3ah jb ds1 add al,7ds1: mov dl,al;将al中的ASCII送入dl mov ah,2;将dl的内容输出到屏幕上 int 21h pop ax and ax,0fh add al,30h cmp al,3ah jb ds2 add al,7ds2: mov dl,al;将al中的ASCII送入dl mov ah,2 int 21h
6、dec bx dec ch jnz loop2 mov ah,4ch; 返回操作系统 int 21hmain endpswitch proc;子程序转换 mov bx,dx add bx,2 mov cx,0404hloop1: mov al,bx sub al,30h cmp al,0ah jb L1 sub al,07h cmp al,10h jb L1 sub al,20h cmp al,10h jb L1 mov dx,offset p4 mov ah,09h int 21h mov ah,4ch int 21hL1: shl al,cl push ax mov al,bx+1 sub
7、 al,30h cmp al,0ah jb L2 sub al,07h cmp al,10h jb L2 sub al,20h cmp al,10h jb L2 mov dx,offset p4 mov ah,09h int 21h mov ah,4ch int 21hL2: mov dl,al pop ax add al,dl mov ds:si,al inc si add bx,2 dec ch jnz loop1 retswitch endpcode ends end start ;程序结束、运行结果正确结果显示。错误输入给出错误提示!题目二:递归调用子程序设计有个人坐在一起,问第五个人
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 16 乘法 指令 完成 32 符号 微机 接口 课程设计