新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 協處理器及其他指令之:交換指令

        協處理器及其他指令之:交換指令

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

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

        4.指令舉例

        (1)將r1的內容與r0指向的存儲單元的內容進行交換。

        SWP r1,r1,[r0]

        (2)使用SWP指令進行信號量操作。

        SEM EQU 0x10002000

        ……

        WAIT_SEM

        MOV r0,#0 ;

        LDR r0,=SEM ;

        SWP r1,r1,[r0] ;取出信號量

        CMP r1,#0 ;判斷是否有信號

        BEQ WAIN_SEM ;若沒有,繼續等待

        9.4.2 寄存器和存儲器字節數據SWPB

        1.指令編碼格式

        寄存器和存儲器字節SWPB(Swap Byte)。將內存單元中一個字節的內容和寄存器內容進行交換。詳情請參見SWP指令。

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

        圖9.11 SWPB指令編碼格式

        2.指令的語法格式

        SWP{cond>}B Rd>,Rm>,[Rn>]

        ① cond>

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

        ② Rd>

        確定指令的目標寄存器。

        ③ Rm>

        該寄存器包含將要被存儲到內存單元中的數據。

        ④ Rn>

        內存單元地址寄存器。

        3.指令操作的偽代碼

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

        If ConditionPassed{cond} then

        Temp=Memory[Rn,1]

        Memory[Rn,1]=Rm[7:0]

        Rd=temp

        4.指令舉例

        參見SWP指令。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 奎屯市| 揭阳市| 张掖市| 清徐县| 茶陵县| 江西省| 额敏县| 玉山县| 元氏县| 芦山县| 铜川市| 南川市| 大兴区| 静乐县| 西盟| 昭苏县| 鸡泽县| 成安县| 广西| 武清区| 盈江县| 翁源县| 清丰县| 阿拉善左旗| 丹江口市| 三台县| 衡阳市| 兴化市| 剑阁县| 平湖市| 渝北区| 襄汾县| 东明县| 林周县| 芷江| 黎城县| 长宁区| 枞阳县| 邹城市| 南岸区| 遂溪县|