最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

請問如此初始化堆棧有何意義

作者:lzx_1 欄目:ARM技術(shù)
請問如此初始化堆棧有何意義
EasyARM2104學習開發(fā)板上,有一段C 語言引導(dǎo)代碼,其中初始化堆棧如下:
InitStack    
        MOV     R0, LR

;設(shè)置管理模式堆棧
        MSR     CPSR_c, #0xd3
        LDR     SP, StackSvc
;設(shè)置中斷模式堆棧
        MSR     CPSR_c, #0xd2
        LDR     SP, StackIrq
;設(shè)置快速中斷模式堆棧
        MSR     CPSR_c, #0xd1
        LDR     SP, StackFiq
;設(shè)置中止模式堆棧
        MSR     CPSR_c, #0xd7
        LDR     SP, StackAbt
;設(shè)置未定義模式堆棧
        MSR     CPSR_c, #0xdb
        LDR     SP, StackUnd
;設(shè)置系統(tǒng)模式堆棧
        MSR     CPSR_c, #0xdf
        LDR     SP, StackUsr

        MOV     PC, R0

那么這樣運行InitStack 后,不是和沒有運行是一樣的嗎,CPSR_c 和 SP 最后的值分別是0xdf和StackUsr,  那前面的賦值不是沒有一點作用嗎?

2樓: >>參與討論
勇敢的心
ARM有幾種處理器模式
每一種的堆棧是不同的
建議看看ARM的處理器結(jié)構(gòu)

3樓: >>參與討論
cxzeng
關(guān)于不同模式棧頂?shù)某跏蓟?br> MSR     CPSR_c, #0xxx 用于切換處理器的模式(每種模式有各自獨立的SP寄存器,互不相關(guān)),用MSR切換到那種模式后,再把各種不同模式的初始棧頂值寫入各自的SP中(LDR     SP, StackXXX的作用)。



4樓: >>參與討論
lzx_1
我明白了,謝謝,是沒有仔細看書
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
關(guān)于C語言內(nèi)嵌匯編的問題,請高手看一下下面的程序,給指點一下
大家用嵌入式VC嗎?有沒有教材?
求ARM System Developer's Guide
為了學ARM,我不得不問,很抱歉占了您們寶貴的位置!
哪家提供的ARM9開發(fā)板(帶網(wǎng)口和中文開發(fā)資料)
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號