• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 乘法指令之:UMULL無符號數長乘指令

    乘法指令之:UMULL無符號數長乘指令

    作者: 時間:2013-09-13 來源:網絡 收藏

    7.3指令

    1.指令編碼格式

    (UnsignedMultiplyLong)為64位無符號。指令將Rm和Rs中的值做無符號數相乘,結果的低32位保存到RsLo中,而高32位保存到RdHi中。

    本文引用地址:http://www.czjhyjcfj.com/article/257061.htm

    指令的編碼格式如圖7.4所示。

    圖7.4指令的編碼格式

    2.指令的語法格式

    UMULL{cond>}{S}RdLo>,RdHi>,Rm>,Rs>

    ①cond>

    為指令編碼中的條件域。它指示指令在什么條件下執行。當cond>忽略時,指令為無條件執行(cond=AL(Alway))。

    ②S

    S位(bit[20])決定指令的操作是否影響CPSR中的條件標志位N位和Z位的值。當S=1時,更新CPSR中的條件標志位的值;當S=0時,指令不更新CPSR中的條件標志位。

    ③RdLo>

    寄存器位目標寄存器。存儲結果的低32位值。

    ④RdHi>

    寄存器位目標寄存器。存儲結果的高32位值。

    ⑤Rm>

    第一乘數寄存器。

    ⑥Rn>

    第二乘數寄存器。

    3.指令操作的偽代碼

    指令操作的偽代碼如下面程序段所示。

    IfConditionPassed{cond}then

    RdHi={Rm*Rs}[63:32]

    RdLo={Rm*Rs}[31:0]

    IfS==1then

    Nflag=RdHi[31]

    Zflag=if((RdHi==0)and(RdLo==0))then1else0

    Cflag=unaffected

    Vflag=unaffected

    4.指令舉例

    下面指令完成(R1,R0)=R5×R8操作。

    UMULLR0,R1,R5,R8;



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 读书| 丰县| 廉江市| 苗栗市| 横山县| 金门县| 永宁县| 阳泉市| 忻城县| 外汇| 江北区| 博白县| 名山县| 大埔县| 揭东县| 菏泽市| 克东县| 米泉市| 马山县| 繁昌县| 来凤县| 望城县| 新和县| 南宫市| 莲花县| 鄱阳县| 肇东市| 绥棱县| 新晃| 南宫市| 新津县| 喜德县| 犍为县| 南通市| 资讯 | 甘南县| 焦作市| 大同县| 滦南县| 沙洋县| 平邑县|