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