新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 協(xié)處理器及其他指令之:交換指令

        協(xié)處理器及其他指令之:交換指令

        作者: 時間:2013-09-13 來源:網(wǎng)絡(luò) 收藏

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

        4.指令舉例

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

        SWP r1,r1,[r0]

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

        SEM EQU 0x10002000

        ……

        WAIT_SEM

        MOV r0,#0 ;

        LDR r0,=SEM ;

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

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

        BEQ WAIN_SEM ;若沒有,繼續(xù)等待

        9.4.2 寄存器和存儲器字節(jié)數(shù)據(jù)SWPB

        1.指令編碼格式

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

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

        圖9.11 SWPB指令編碼格式

        2.指令的語法格式

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

        ① cond>

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

        ② Rd>

        確定指令的目標(biāo)寄存器。

        ③ Rm>

        該寄存器包含將要被存儲到內(nèi)存單元中的數(shù)據(jù)。

        ④ Rn>

        內(nèi)存單元地址寄存器。

        3.指令操作的偽代碼

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

        If ConditionPassed{cond} then

        Temp=Memory[Rn,1]

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

        Rd=temp

        4.指令舉例

        參見SWP指令。


        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 江北区| 绍兴县| 会理县| 林西县| 弋阳县| 于都县| 神池县| 微山县| 徐汇区| 博客| 安多县| 中江县| 铁岭县| 涞源县| 上思县| 黔南| 玉溪市| 抚顺市| 阳山县| 合肥市| 韩城市| 浮梁县| 长顺县| 阿巴嘎旗| 大埔区| 海宁市| 思南县| 剑川县| 桓仁| 仲巴县| 祥云县| 连州市| 民权县| 浮梁县| 青田县| 临安市| 南通市| 东乌珠穆沁旗| 南澳县| 同江市| 乐至县|