这篇文章主要介绍了汇编语言乘指令 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的具体使用


基础教程推荐
- 详解swift中xcworkspace多项目管理 2023-07-05
- R语言向量下标和子集的使用 2022-12-10
- R语言因子型数值转数值型的操作 2022-11-23
- 汇编语言:比较指令、跳转指令、JCC的使用 2023-07-06
- 解决R语言中install_github中无法安装遇到的问题 2022-11-26
- 如何将mysql数据库文件连接到Rails应用程序上的本地ruby 2023-09-21
- R语言入门使用RStudio制作包含Rcpp代码的R包 2022-12-05
- 深入探究Golang中log标准库的使用 2023-07-25
- R语言的一个加法函数使用介绍 2022-11-14
- ruby – 如何使用Nginx,Passenger,Sinatra创建多个位置 2023-09-20