在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM匯編指令集之五——乘法指令與乘加指令

            ARM匯編指令集之五——乘法指令與乘加指令

            作者: 時間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
            ARM微處理器支持的乘法指令乘加指令共有6條,可分為運算結(jié)果為32位和運算結(jié)果為64位兩類,與前面的數(shù)據(jù)處理指令不同,指令中的所有操作數(shù)、目的寄存器必須為通用寄存器,不能對操作數(shù)使用立即數(shù)或被移位的寄存器,同時,目的寄存器和操作數(shù)1必須是不同的寄存器。

            乘法指令與乘加指令共有以下6條:

            本文引用地址:http://www.biyoush.com/article/201611/317601.htm

            1、 MUL指令

            MUL指令的格式為:

            MUL{條件}{S}目的寄存器,操作數(shù)1,操作數(shù)2

            MUL指令完成將操作數(shù)1與操作數(shù)2的乘法運算,并把結(jié)果放置到目的寄存器中,同時可以根據(jù)運算結(jié)果設(shè)置CPSR中相應(yīng)的條件標志位。其中,操作數(shù)1和操作數(shù)2均為32位的有符號數(shù)或無符號數(shù)。

            指令示例:

            MUL R0,R1,R2;R0 = R1×R2

            MULS R0,R1,R2;R0 = R1×R2,同時設(shè)置CPSR中的相關(guān)條件標志位

            2、 MLA指令

            MLA指令的格式為:

            MLA{條件}{S}目的寄存器,操作數(shù)1,操作數(shù)2,操作數(shù)3

            MLA指令完成將操作數(shù)1與操作數(shù)2的乘法運算,再將乘積加上操作數(shù)3,并把結(jié)果放置到目的寄存器中,同時可以根據(jù)運算結(jié)果設(shè)置CPSR中相應(yīng)的條件標志位。其中,操作數(shù)1和操作數(shù)2均為32位的有符號數(shù)或無符號數(shù)。

            指令示例:

            MLA R0,R1,R2,R3;R0 = R1×R2 + R3

            MLAS R0×R2 + R3,同時設(shè)置CPSR中的相關(guān)條件標志位

            3、 SMULL指令

            SMULL指令的格式為:

            SMULL{條件}{S}目的寄存器Low,目的寄存器低High,操作數(shù)1,操作數(shù)2

            SMULL指令完成將操作數(shù)1與操作數(shù)2的乘法運算,并把結(jié)果的低32位放置到目的寄存器Low中,結(jié)果的高32位放置到目的寄存器High中,同時可以根據(jù)運算結(jié)果設(shè)置CPSR中相應(yīng)的條件標志位。其中,操作數(shù)1和操作數(shù)2均為32位的有符號數(shù)。

            指令示例:

            SMULL R0,R1,R2,R3;R0 =(R2×R3)的低32位

            ;R1 =(R2×R3)的高32位

            4、 SMLAL指令

            SMLAL指令的格式為:

            SMLAL{條件}{S}目的寄存器Low,目的寄存器低High,操作數(shù)1,操作數(shù)2

            SMLAL指令完成將操作數(shù)1與操作數(shù)2的乘法運算,并把結(jié)果的低32位同目的寄存器Low中的值相加后又放置到目的寄存器Low中,結(jié)果的高32位同目的寄存器High中的值相加后又放置到目的寄存器High中,同時可以根據(jù)運算結(jié)果設(shè)置CPSR中相應(yīng)的條件標志位。其中,操作數(shù)1和操作數(shù)2均為32位的有符號數(shù)。

            對于目的寄存器Low,在指令執(zhí)行前存放64位加數(shù)的低32位,指令執(zhí)行后存放結(jié)果的低32位。

            對于目的寄存器High,在指令執(zhí)行前存放64位加數(shù)的高32位,指令執(zhí)行后存放結(jié)果的高32位。

            指令示例:

            SMLAL R0,R1,R2,R3;R0 =(R2×R3)的低32位+R0

            ;R1 =(R2×R3)的高32位+R1

            5、 UMULL指令

            UMULL指令的格式為:

            UMULL{條件}{S}目的寄存器Low,目的寄存器低High,操作數(shù)1,操作數(shù)2

            UMULL指令完成將操作數(shù)1與操作數(shù)2的乘法運算,并把結(jié)果的低32位放置到目的寄存器Low中,結(jié)果的高32位放置到目的寄存器High中,同時可以根據(jù)運算結(jié)果設(shè)置CPSR中相應(yīng)的條件標志位。其中,操作數(shù)1和操作數(shù)2均為32位的無符號數(shù)。

            指令示例:

            UMULL R0,R1,R2,R3;R0 =(R2×R3)的低32位

            ;R1 =(R2×R3)的高32位

            6、 UMLAL指令

            UMLAL指令的格式為:

            UMLAL{條件}{S}目的寄存器Low,目的寄存器低High,操作數(shù)1,操作數(shù)2

            UMLAL指令完成將操作數(shù)1與操作數(shù)2的乘法運算,并把結(jié)果的低32位同目的寄存器Low中的值相加后又放置到目的寄存器Low中,結(jié)果的高32位同目的寄存器High中的值相加后又放置到目的寄存器High中,同時可以根據(jù)運算結(jié)果設(shè)置CPSR中相應(yīng)的條件標志位。其中,操作數(shù)1和操作數(shù)2均為32位的無符號數(shù)。

            對于目的寄存器Low,在指令執(zhí)行前存放64位加數(shù)的低32位,指令執(zhí)行后存放結(jié)果的低32位。

            對于目的寄存器High,在指令執(zhí)行前存放64位加數(shù)的高32位,指令執(zhí)行后存放結(jié)果的高32位。

            指令示例:

            UMLAL R0,R1,R2,R3 ;R0 =(R2×R3)的低32位+R0

            ;R1 =(R2×R3)的高32位+R1




            評論


            技術(shù)專區(qū)

            關(guān)閉