新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Thumb指令集之: 單寄存器數據傳送指令

        Thumb指令集之: 單寄存器數據傳送指令

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

        本文引用地址:http://www.104case.com/article/257040.htm

        11.5.12寄存器存儲指令STR(2)

        (1)編碼格式

        寄存器存儲指令STR(2)的編碼格式如圖11.53所示。

        圖11.53STR(2)指令的編碼格式

        STR(2)將一個32位通用寄存器數據存儲到內存單元中。此種形式的STR指令常被用于訪問數組中的元素。

        (2)指令的語法格式

        LDRRd>,[Rn>,Rm>]

        ①Rd>

        目的寄存器。

        ②Rn>

        存放形成內存訪問地址的第一個寄存器。

        ③Rm>

        存放形成內存訪問地址的第二個寄存器。

        (3)指令操作的偽代碼

        address=Rn+Rm

        ifaddress[1:0]==0b00

        Memory[address,4]==Rd

        Else

        Memory[address,4]==UNPREDICTABLE

        (4)對應的指令

        STRRd>,[Rn>,Rm>]

        11.5.13寄存器存儲指令STR(3)

        (1)編碼格式

        寄存器存儲指令STR(3)的編碼格式如圖11.54所示。

        圖11.54STR(3)指令的編碼格式

        寄存器存儲指令STR(3)允許將一個32位通用寄存器的值存儲到內存。此種形式的STR指令常被用于訪問堆棧數據。

        (2)指令的語法格式

        STRRd>,[SP,#immed_8>*4]

        ①Rd>

        目的寄存器。

        ②SP

        堆棧指針寄存器,用于計算內存訪問的地址。

        ③immed_8>

        8位立即數。該立即數的4倍將和堆棧指針寄存器SP的值相加,形成內存訪問地址。

        (3)指令操作的偽代碼

        address=SP+(immed_8*4)

        ifaddress[1:0]==0b00

        Memory[address,4]=Rd

        Else

        Memory[address,4]=UNPREDICTABLE

        (4)對應的指令

        STRRd>,[SP,#immed_8>*4]



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 崇礼县| 中方县| 柳河县| 安顺市| 福清市| 东乌珠穆沁旗| 清流县| 叙永县| 磐石市| 温宿县| 临城县| 樟树市| 上林县| 贡觉县| 兴义市| 同心县| 宜川县| 麻栗坡县| 巴中市| 平武县| 邹平县| 明溪县| 新宾| 榆中县| 濮阳县| 漯河市| 耒阳市| 唐山市| 苍溪县| 四子王旗| 贵德县| 鹤山市| 康平县| 新安县| 若羌县| 通化市| 义马市| 丰都县| 通渭县| 湾仔区| 房产|