这篇文章主要介绍了汇编语言乘指令 MUL、IMUL的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
MUL: 无符号乘
==================================================
;影响 OF、CF 标志位
;指令格式:
;MUL r/m ;参数是乘数
;如果参数是 r8/m8, 将把 AL 做乘数, 结果放在 AX
;如果参数是 r16/m16, 将把 AX 做乘数, 结果放在 EAX
;如果参数是 r32/m32, 将把 EAX 做乘数, 结果放在 EDX:EAX
当乘积的高半部分(AH、DX、EDX、RDX)中存有结果的有效数字,则CF=OF=1,否则CF=OF=0。
=======================================================
IMUL: 有符号乘
=======================================================
;影响 OF、CF 标志位
;第一种指令格式:
;IMUL r/m ;单操作数
;如果参数是 r8/m8, 将把 AL 做乘数, 结果放在 AX
;如果参数是 r16/m16, 将把 AX 做乘数, 结果放在 EAX
;如果参数是 r32/m32, 将把 EAX 做乘数, 结果放在 EDX:EAX
;以上这些都是和 MUL 一样的, 只是运算结果有时一样、有时不一样.
;IMUL 还有另外两种指令格式:
;IMUL r16/r32, r16/r32/m16/m32/i ;双操作数, (1)*(2) -> (1)
;IMUL r16/r32, r16/r32/m16/m32, i ;三操作数, (2)*(3) -> (1)
;其中常数 i 的位数可以 <= 但不能 > 其他操作数
=======================================================
简单应用
=================================================
imul edx, ebx ;edx=edx*ebx
imul edx, ebx,8 ;edx=ebx*8
一,目的数为16或32寄存器
二,操作数长度相等
三,三操作数依次为目的,源,立即数
四,与单操作数不溢出不同,可能产生溢出
就这样简要述说了...
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程学习网。
本文标题为:汇编语言乘指令 MUL、IMUL的具体使用


基础教程推荐
- R语言 ggplot2改变柱状图的顺序操作 2022-11-17
- 浅析ELF转二进制允许把 Binary 文件加载到任意位置 2023-07-06
- Swift中重写和重载的使用与对比总结 2023-07-05
- Swift初始化器与可选链的使用方法介绍 2023-07-08
- ruby on rails validates 2023-09-22
- Ruby3多线程并行Ractor使用方法详解 2023-07-23
- ruby-on-rails-为使用Rails 4,nginx和乘客的用户设置自定义域 2023-09-21
- R语言绘制折线图实例分析 2022-11-21
- R语言-修改(替换)因子变量的元素操作 2022-11-26
- win10下使用virtualbox + vagrant配置ruby开发机环境 2023-07-23