汇编语言32位乘法

汇编语言32位乘法

ID:16397638

大小:37.00 KB

页数:3页

时间:2018-08-09

汇编语言32位乘法_第1页
汇编语言32位乘法_第2页
汇编语言32位乘法_第3页
资源描述:

《汇编语言32位乘法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、assumecs:code,ds:datadatasegmentNAdw0F321H,09AFCHNBdw08818H,0301DH;-------第一个字是等待相乘的数的高16位,第二个是低十六位T1dw0,0,0T2dw0,0,0;-------32位数乘以16位数不可能大于48位,所以分配3个字Rdw0,0,0,0;-------32位数乘以32位数不可能大于64位,所以为结果分配4个字dataendscodesegmentstart:movax,datamovds,ax;-------初始化段寄存器Step1:movax,NA+2movbx,NB+2mulbxmo

2、vT1+4,axmovcx,dx;-------NumberA的低16位乘以NumberB的低十六位,结果存入T1+4;进位存入CXmovax,NAmovbx,NB+2mulbxmovT1+2,axaddT1+2,cxadcT1,dx;-------NumberA的高16位乘以NumberB的低十六位,结果存入T1+4;结果存入T1+2,将T1+2与上一次相乘的进位相加存入T1+2;将第二次相乘的进位带符号相加入T1(前一位的相加可能产生进位)Step2:movax,NA+2movbx,NBmulbxmovT2+4,axmovcx,dx;-------同理movax,NA

3、movbx,NBmulbxmovT2+2,axaddT2+2,cxadcT2,dx;-------同理SUM:movax,T1+4movR+6,axmovax,T2+4addT1+2,axmovax,T1+2movR+4,axmovax,T2+2adcT1,axmovax,T1movR+2,axmovax,T2adcR,ax;-------错位相加movax,4C00Hint21Hcodeendsendstart原理图:NANA+2×NBNB+2——————————————————T1T1+2T1+4+T2T2+2T2+4——————————————————RR+2R+4

4、R+6编写一个程序,从键盘上连续输入多个字符,遇到“$”时终止,然后以与输入相反的顺序将该字符串以大写的形式在屏幕上显示出来要求:用“先进后出”的设计思路,使用堆栈技术,结合DOS的中断调用,实现输入字符串的倒序显示CODESEGMENT;作业ASSUMECS:CODE,ds:codeorg100hSTART:pushcspopdscldleadx,msgmovah,9int21h;提示xorcx,cxt0:movah,1int21h;接收数据cmpal,'$';'$'结束程序jzshowcmpal,'a'jby1cmpal,'z'jay1subal,20h;小写转大写y

5、1:inccxpushaxjmpt0jcxzquitshow:moval,0dhinccxpushaxmoval,0ahinccxpushax;字符串倒序输出movcx,cxnext:popdxmovah,2int21hloopnextquit:movah,1int21h;等待MOVAX,4C00HINT21Hmsgdb09,'Inputastring...',0dh,0ah,'$'CODEENDSENDSTART

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

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

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