新聞中心

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

        數據傳送指令之:單寄存器的Load/Store指令

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

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

        5.3.4 用戶模式字(LDRT/STRT)

        1.LDRT指令

        (1)指令編碼格式

        LDRT指令用于從內存中將一個32位的字讀取到目標寄存器。

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

        LDRT指令根據addr_mode>所確定的地址模式將一個32位字讀取到指令中的目標寄存器Rd>。如果指令中的尋址方式確定的地址不是字對齊的,則讀出的數值要進行循環右移。所移位數為尋址方式確定的地址bits[1∶0]的8倍。也就是說處理器將取到的數值作為字的最低位處理。

        圖5.9 LDRT指令編碼格式

        當處理器在特權模式下使用此指令時,內存系統將該操作當作一般用戶模式下得內存訪問指令。

        注意

        指令的編碼格式中,P位指定位“0”,也就是說LDRT指令的尋址方式為固定尋址方式,即后索引編碼尋址(post_indexed_addressing_mode)。

        (2)指令的語法格式

        LDR{cond>}T Rd>,post_indexed_addressing_mode>

        ① cond>

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

        ② Rd>

        確定使用哪個通用寄存器作為目標寄存器。

        ③ post_indexex_address_mode>

        使用后索引地址模式尋址。

        注意

        后索引地址模式中P=0并且W=0(即bit[21]=0、bit[24]=0)。但此指令P=0并且W=1(即bit[21]=1、bit[24]=0)。但實際的尋址操作是一樣的。

        (3)指令操作的偽代碼

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

        If ConditionPassed{cond} then

        If address[1:0]==0b00

        Rd=Memory[address,4]

        Else if address[1:0]==0b01

        Rd=Memory[address,4] Rotate_Right 8

        Else if address[1:0]==0b10

        Rd=Memory[address,4] Rotate_Right 16

        Else address[1:0]==0b11

        Rd=Memory[address,4] Rotate_Right 24

        2.STRT指令

        (1)指令編碼格式

        STRT指令用于將一個32位的字數據寫入到指令中指定的內存單元。

        當處理器在特權模式下執行此指令時,內存系統將該操作當作一般用戶模式下的內存訪問操作。

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

        圖5.10 STR指令編碼格式

        (2)指令的語法格式

        STR{cond>}T Rd>,post_indexed_addressing_mode>

        ① cond>

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

        ② Rd>

        確定使用哪個通用寄存器作為目標寄存器。

        ③ post_indexed_address_mode>

        使用后索引地址模式尋址,參見LDRT指令。

        (3)指令操作的偽代碼

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

        If ConditionPassed{cond} then

        Memory[address,4]=Rd

        存儲器相關文章:存儲器原理




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 内丘县| 新沂市| 井冈山市| 葫芦岛市| 新竹市| 伊宁县| 吉安县| 枣阳市| 阳东县| 白银市| 肥西县| 汽车| 甘谷县| 佛教| 栾川县| 英吉沙县| 广宗县| 舟曲县| 上杭县| 会宁县| 栾川县| 雷波县| 屏边| 定州市| 绩溪县| 镇坪县| 苏尼特左旗| 犍为县| 玛曲县| 阿拉善左旗| 八宿县| 阿坝| 柳河县| 濉溪县| 福安市| 新沂市| 扎兰屯市| 南平市| 通州区| 萨嘎县| 梁山县|