新聞中心

        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]



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 县级市| 通海县| 家居| 沾益县| 洪泽县| 太康县| 高陵县| 营山县| 华容县| 元阳县| 桐乡市| 鞍山市| 甘肃省| 新蔡县| 丰宁| 嵩明县| 赞皇县| 琼海市| 襄垣县| 盐亭县| 启东市| 东源县| 迭部县| 舞阳县| 陆良县| 伊吾县| 林口县| 福鼎市| 马龙县| 南江县| 临澧县| 辰溪县| 峡江县| 永安市| 瑞安市| 治多县| 资中县| 辽阳县| 东兰县| 长乐市| 视频|