MUL指令(无符号数的乘法指令)_第1页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、mul指令(无符号数的乘法指令)1.mul命令(无符号数的乘法命令)命令格式:mul ops;ops可以是reg和mem操作数。被乘数先放在ax或al、eax中,再将乘数给ops。字节乘法:(al)*(ops8)→ax字乘法:(ax)*(ops16)→dx:ax双字乘法:(eax)*(ops32)→edx:eax影响的标记位是: cf、of,不影响af、pf、sf、zf。 8086乘法运算命令分为无符号数乘mul和有符号数乘imul。乘法在实现字节相乘时乘积放在ax寄存器中,字相乘时乘积放在dx:ax寄存器中,因此乘法命令不会产生溢出和进位

2、,这时用of和cf位来表示乘积有效数字的长度。若乘积的高半部分(字节乘法为ah,字乘法为dx)有效(mul命令是指ah或dx中的内容不为0,imul命令指的则是ah或dx中的内容是否为符号位的扩展),则cf与of都为1,表示dx或ah中含有乘积的有效数字,否则cf和of为0。 给你举个例子吧。 无符号数0b4h与11h相乘 mov al,0b4h ;al=b4h=180d(被乘数放在al中) mov bl,11h ;bl=11h=17d(乘数放在bl中) mul bl ;ax=obf4h=3060d,of=cf=1(乘积放在ax中。ax高8位不为0) 再来一个有符号数乘法的例子。 有符号数0b

3、4h与11h相乘 mov al,0b4h ;al=b4h=-76d(b4h为-76的补码) mov bl,11h ;bl=11h=17d imul bl ;ax=faf4h=-1292d,of=cf=1 ;ax高8位不是低8位的符号扩展,表示含有有效数字,计算二进制数乘法:b4h×11h。假如把它当作无符号数,用mul命令结果为0bf4h;假如看作是有符号数,用imul命令则结果为faf4h。由此可见,同样的二进制数看作无符号数与有符号数相乘,即采纳mul与imul命令,它们的结果是不相同的。例:设(al)=02h(2),(bh)=81h(129),(al)*(bh)→ax,执行m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论