ARM乘法指令
?。?)MUL 32位乘法指令
MUL提供32位整數(shù)乘法。如果操作數(shù)是有符號的,則可以假定結(jié)果也是有符號的。
(2)MLA 32位帶加法的乘法指令
MLA的行為同MUL,但它把操作數(shù)3的值加到結(jié)果上,這在求總和時有用。
?。?)SMULL 64位有符號數(shù)乘法指令
SMULL指令實現(xiàn)兩個32位的有符號數(shù)的乘積,乘積結(jié)果的高32位存放到一個32位的寄存器<RdHi>中,低32位存放到另一個32位的寄存器(RdLo>中,同時可以根據(jù)運算結(jié)果設(shè)置CPSR寄存器中相應(yīng)的條件標志位??紤]指令執(zhí)行的效率,指令中所有操作數(shù)都放在寄存器中。
?。?)SMLAL 64位帶加法的有符號數(shù)乘法指令
SMLAL指令將兩個32位有符號數(shù)的64位乘積結(jié)果與<RdLo>和<RdHi>中的64位數(shù)相加,相加結(jié)果的高32位存放到一個32位的寄存器<RdHi)中,低32位存放到另一個32位的寄存器(RdLo>中,同時可以根據(jù)運算結(jié)果設(shè)置∷CPSR寄存器中相應(yīng)的條件標志位。
?。?)UMULL 64位無符號數(shù)乘法指令
UMULL指令實現(xiàn)兩個32位有符號數(shù)的乘積,乘積結(jié)果的高32位存放到一個32位的寄存器<RdHi)中,乘積結(jié)果的低32位存放到另一個32位的寄存器(RdLo>中,同時可以根據(jù)運算結(jié)果設(shè)置CPSR寄存器中相應(yīng)的條件標志位??紤]指令執(zhí)行的效率,指令中所有操作數(shù)都放在寄存器中。
?。?)UMLAL 64位帶加法的無符號數(shù)乘法指令
UMLAL指令將兩個32位無符號數(shù)的64位乘積結(jié)果與<RdLo>和<RdHi>中的64位無符號數(shù)相加,相加結(jié)果的高32位存放到一個32位的寄存器(RdHi)中,低32位存放到另一個32位的寄存器<RdLo>中,同時可以根據(jù)運算結(jié)果設(shè)置CPSR寄存器中相應(yīng)的條件標志位。
評論