匯編語言乘指令 MUL、IMUL的具體使用
MUL: 無符號(hào)乘
==================================================
;影響 OF、CF 標(biāo)志位
;指令格式:
;MUL r/m ;參數(shù)是乘數(shù)
;如果參數(shù)是 r8/m8, 將把 AL 做乘數(shù), 結(jié)果放在 AX
;如果參數(shù)是 r16/m16, 將把 AX 做乘數(shù), 結(jié)果放在 EAX
;如果參數(shù)是 r32/m32, 將把 EAX 做乘數(shù), 結(jié)果放在 EDX:EAX
當(dāng)乘積的高半部分(AH、DX、EDX、RDX)中存有結(jié)果的有效數(shù)字,則CF=OF=1,否則CF=OF=0。
=======================================================
IMUL: 有符號(hào)乘
=======================================================
;影響 OF、CF 標(biāo)志位
;第一種指令格式:
;IMUL r/m ;單操作數(shù)
;如果參數(shù)是 r8/m8, 將把 AL 做乘數(shù), 結(jié)果放在 AX
;如果參數(shù)是 r16/m16, 將把 AX 做乘數(shù), 結(jié)果放在 EAX
;如果參數(shù)是 r32/m32, 將把 EAX 做乘數(shù), 結(jié)果放在 EDX:EAX
;以上這些都是和 MUL 一樣的, 只是運(yùn)算結(jié)果有時(shí)一樣、有時(shí)不一樣.
;IMUL 還有另外兩種指令格式:
;IMUL r16/r32, r16/r32/m16/m32/i ;雙操作數(shù), (1)*(2) -> (1)
;IMUL r16/r32, r16/r32/m16/m32, i ;三操作數(shù), (2)*(3) -> (1)
;其中常數(shù) i 的位數(shù)可以 <= 但不能 > 其他操作數(shù)
=======================================================
簡單應(yīng)用
=================================================
imul edx, ebx ;edx=edx*ebx
imul edx, ebx,8 ;edx=ebx*8
一,目的數(shù)為16或32寄存器
二,操作數(shù)長度相等
三,三操作數(shù)依次為目的,源,立即數(shù)
四,與單操作數(shù)不溢出不同,可能產(chǎn)生溢出
就這樣簡要述說了...
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用匯編語言實(shí)現(xiàn)if else 循環(huán)函數(shù)調(diào)用的具體方法
這篇文章主要介紹了使用匯編語言實(shí)現(xiàn)if else 循環(huán)函數(shù)調(diào)用的具體方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
匯編程序輸出“Hello world”的實(shí)現(xiàn)
這篇文章主要介紹了匯編程序輸出“Hello world”的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
匯編語言軟件延時(shí)1s的實(shí)現(xiàn)方法
這篇文章主要介紹了匯編語言軟件延時(shí)1s的實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01

