汇编程序实例的任务是( )

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

由于快要期末考试了,我也准备开始本学期的专业课汇编语言的学习了hh(原谅我菜 orz)

汇编很强让我知道了计算机的cpu在进行工作时都是用加法来完成的

所以聪明的计算机工程师们将世间万物的计算通过数学方法来转换成加法运算,所以汇编语言让我了解了些许底层的知识同时我在网上搜索题目时,发现对于汇编详细解释的例子太过于少了导致比较烧腦,所以我在弄明白之后就想着写一篇关于汇编简单计算的小例子来展示汇编的魅力也可以供新生参考。

imul Y ;X*Y  imul是带符号的乘法在这声明一下:由于原先的字长为16位这里也涉及到了字乘法16位*16位***一定是32位的,

所以用两个寄存器来分别存储该数据的高16位和低16位所谓的“高”“低”在我看来就是中间平分左边就是高右边就是低
mov bx,dx ;由于在16位与16位相乘的过程中,机器自动为用户把高16位分到DX的通用寄存器但是下面还需要用到高16位,

所以得挪地方来保存高16位寄存器下面的图片表达了这一点!!!
cwd 这句是把ax带符号扩展成dx,ax为什么这样做?先接着往下看……
add cx,ax ;将刚才扩展的双字保存在bx,cx中因为马上要用到ax、、我们一定要优先进行低16位的加法运算所以用add 
adc bx,dx ;然后再把原先的高16位和刚拓展好的Z的高16位楿加但是此处是ADC说明要加上低16位的进位符如果低16位有进位就加上,没有进位加0
sub cx,540 ;这也如此因为16位二进制完全能保存540的大小所以只在低16位相减

峩们一直在努力加油!

参考资料

 

随机推荐