新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 協(xié)處理器及其他指令之:狀態(tài)寄存器訪問指令

        協(xié)處理器及其他指令之:狀態(tài)寄存器訪問指令

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

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

        4.指令的使用

        詳見MRS指令。

        5.指令舉例

        (1)使用“讀-修改-寫”模式更新CPSR寄存器。

        MRSr0,CPSR ;讀CPSR寄存器的值

        BICr0,r0,#0xf0000000 ;清除N、Z、C、V位

        MSRCPSR_f,r0 ;更新CPSR中的標志位

        注意

        因為PSR狀態(tài)寄存器中存在目前沒有定義的保留位,所以在使用時,最好加上“_fsxc”后綴,如上例中的“CPSR_f”。這樣做的目的是使指令只修改程序狀態(tài)寄存器的某個域,防止程序向高版本指令集移植時發(fā)生意外。

        (2)禁止IRQ中斷。

        MRSr0,CPSR;讀CPSR狀態(tài)寄存器

        ORRr0,r0,#0x80;設置IRQ中斷禁止位

        MSRCPSR_c,r0;更新CPSR狀態(tài)寄存器

        (3)堆棧初始化。

        INITSTACK

        MOVr0,LR;保存返回地址

        ;設置管理模式堆棧

        MSRCPSR_c,#0xd3;

        LDRSP,StackSvc;

        ;設置中斷模式堆棧

        MSRCPSR_c,#0xd2;

        LDRSP,StackIrq;


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 错那县| 夏津县| 余姚市| 靖州| 富顺县| 砚山县| 西城区| 临泽县| 宁陵县| 达孜县| 伽师县| 鄱阳县| 梅州市| 高阳县| 洮南市| 秭归县| 荃湾区| 囊谦县| 湟源县| 越西县| 攀枝花市| 五大连池市| 富顺县| 鹿邑县| 昭平县| 灌云县| 高清| 纳雍县| 阜新市| 皋兰县| 涟源市| 正定县| 崇州市| 陵川县| 广安市| 师宗县| 高尔夫| 沁源县| 石城县| 万载县| 赣州市|