中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        詳解ARM9的CPSR寄存器

        作者: 時間:2016-11-22 來源:網(wǎng)絡(luò) 收藏
        最近在學(xué)習(xí)嵌入式底層系統(tǒng)開發(fā),在寫啟動代碼時要設(shè)置各個模式的SP,需要調(diào)整CPU的工作模式,部分代碼如下:
        [plain]view plaincopy
        print?
        1. .equDISABLE_IRQ,0x80
        2. .equDISABLE_FIQ,0x40
        3. .equSYS_MOD,0x1f
        4. .equIRQ_MOD,0x12
        5. .equFIQ_MOD,0x11
        6. .equSVC_MOD,0x13
        7. .equABT_MOD,0x17
        8. .equUND_MOD,0x1b
        9. msrcpsr_c,#(DISABLE_IRQ|DISABLE_FIQ|SVC_MOD)
        10. ldrsp,=_SVC_STACK
        11. msrcpsr_c,#(DISABLE_IRQ|DISABLE_FIQ|IRQ_MOD)
        12. ldrsp,=_IRQ_STACK
        13. msrcpsr_c,#(DISABLE_IRQ|DISABLE_FIQ|FIQ_MOD)
        14. ldrsp,=_FIQ_STACK
        15. msrcpsr_c,#(DISABLE_IRQ|DISABLE_FIQ|ABT_MOD)
        16. ldrsp,=_ABT_STACK
        17. msrcpsr_c,#(DISABLE_IRQ|DISABLE_FIQ|UND_MOD)
        18. ldrsp,=_UND_STACK
        19. msrcpsr_c,#(DISABLE_IRQ|DISABLE_FIQ|SYS_MOD)
        20. ldrsp,=_SYS_STACK
        代碼中用到了cpsr_c,那么究竟cpsr_c與cpsr是什么關(guān)系?

        本文引用地址:http://www.antipu.com.cn/article/201611/319969.htm

        ARM9的每種工作模式除R0~R15共16個寄存器外,還有第17個寄存器CPSR(Current Program Status Register),叫做當(dāng)前程序狀態(tài)寄存器,CPSR中一些位被用于標(biāo)識各種狀態(tài),一些位被用于標(biāo)識當(dāng)前出于什么工作模式。CPSR有4個8位區(qū)域:標(biāo)志域(F)、狀態(tài)域(S)、擴展域(X)、控制域(C)。

        在ARM 處理器中,只有MSR 指令可以直接設(shè)置狀態(tài)寄存器CPSR或SPSR。指令格式如下:
        MSR{cond} psr_fields,#immed_8r(8位立即數(shù))
        MSR{cond} psr_fields,Rm
        其中: psr 指CPSR 或SPSR
        fields 指定傳送的區(qū)域。Fields 可以是以下的一種或多種(字母必須為小寫):

        • c 控制域屏蔽字節(jié)(psr[7…0])
        • x 擴展域屏蔽字節(jié)(psr[27…8])
        • s 狀態(tài)域屏蔽字節(jié)(psr[31.…28])


        關(guān)鍵詞: ARM9CPSR寄存

        評論


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

        關(guān)閉