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