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