這個(gè)指令的作用是把累加器A和寄存器B中的8位無(wú)符號(hào)數(shù)相乘,所得到的是16位乘積,這個(gè)結(jié)果低8位存在累加器A,而高8位存在寄存器B中。如果OV=1,說(shuō)明乘積大于0FFFFH(65536),否則OV=0,但進(jìn)位標(biāo)志位CY總是等于0。MUL
乘法指令:MUL AB此單片機(jī)指令的功能是將A和B中的兩個(gè)8位無(wú)符號(hào)數(shù)相乘,兩數(shù)相乘結(jié)果一般比較大,因此最終結(jié)果用1個(gè)16位數(shù)來(lái)表達(dá),其中高8位放在B中,低8位放在A中。在乘積大于FFFFFH(65535)時(shí),0V置1(溢出),不
MLA(Multiply Accumulate)32位乘累加指令將Rm和Rs中的值相乘,再將乘積加上第3個(gè)操作數(shù),結(jié)果的最低32位保存到Rd中。
UMULL(Unsigned Multiply Long)為64位無(wú)符號(hào)乘法指令。指令將Rm和Rs中的值做無(wú)符號(hào)數(shù)相乘,結(jié)果的低32位保存到RsLo中,而高32位保存到RdHi中。
MLA(Multiply Accumulate)32位乘累加指令將Rm和Rs中的值相乘,再將乘積加上第3個(gè)操作數(shù),結(jié)果的最低32位保存到Rd中。
UMLAL(Unsigned Multiply Accumulate Long)為64位無(wú)符號(hào)長(zhǎng)乘-累加指令。指令將Rm和Rs中的值做無(wú)符號(hào)數(shù)相乘,64位乘積與RdHi,RdLo相加,結(jié)果的低32位保存到RsLo中,而高32位保存到RdHi中。
SMULL(Signed Multiply Long)64位有符號(hào)長(zhǎng)乘法指令。指令將Rm和Rs中的值做有符號(hào)數(shù)相乘,結(jié)果的低32位保存到RsLo中,而高32位保存到RdHi中。
SMLAL(Signed Multiply Accumulate Long)為64位有符號(hào)長(zhǎng)乘法指令。指令將Rm和Rs中的值做有符號(hào)數(shù)相乘,64位乘積與RdHi,RdLo相加,結(jié)果的低32位保存到RsLo中,而高32位保存到RdHi中。