色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区

Hi,歡迎來到嵌入式培訓(xùn)高端品牌 - 華清遠(yuǎn)見教育科技集團(tuán)<北京總部官網(wǎng)>,專注嵌入式工程師培養(yǎng)15年!
當(dāng)前位置: > 華清遠(yuǎn)見教育科技集團(tuán) > 嵌入式學(xué)習(xí) > 講師博文 > 用匯編語言申請棧空間
用匯編語言申請棧空間
時間:2017-01-05作者:華清遠(yuǎn)見

在C程序運(yùn)行以前要設(shè)置好棧空間,在嵌入式ARM系統(tǒng)中,ARM 的啟動代碼可以實現(xiàn)此類功能,

etup Stack for each mode
                                LDR        R0, =Stack_Top
        ; Enter Undefined Instruction Mode and set its Stack Pointer
                                MSR         CPSR_c, #Mode_UND:OR:I_Bit:OR:F_Bit
                                MOV          SP, R0
                                SUB          R0, R0, #UND_Stack_Size
        ; Enter Abort Mode and set its Stack Pointer
                                MSR        CPSR_c, #Mode_ABT:OR:I_Bit:OR:F_Bit
                                MOV        SP, R0
                                SUB         R0, R0, #ABT_Stack_Size
        ; Enter FIQ Mode and set its Stack Pointer
                                MSR         CPSR_c, #Mode_FIQ:OR:I_Bit:OR:F_Bit
                                MOV        SP, R0
                                SUB        R0, R0, #FIQ_Stack_Size
        ; Enter IRQ Mode and set its Stack Pointer
                                MSR        CPSR_c, #Mode_IRQ:OR:I_Bit:OR:F_Bit
                                MOV        SP, R0
                                SUB        R0, R0, #IRQ_Stack_Size
        ; Enter Supervisor Mode and set its Stack Pointer
                                MSR         CPSR_c, #Mode_SVC:OR:I_Bit:OR:F_Bit
                                MOV        SP, R0
                                SUB        R0, R0, #SVC_Stack_Size
        ; Enter User Mode and set its Stack Pointer
                                MSR         CPSR_c, #Mode_USR

以上是MDK的startup.s文件對各種處理器模式棧空間的設(shè)置,但是在多進(jìn)程編程時我們希望棧空間的設(shè)置更靈活,我們可以使用幾條偽指令來實現(xiàn)棧空間的申請,

AREA |subr|, CODE, READONLY

;軟件中斷

SoftwareInterrupt
        LDR SP, StackSvc ; 重新設(shè)置堆棧指針
        STMFD SP!, {R0-R3, R12, LR}
        StackSvc DCD (SvcStackSpace + SVC_STACK_LEGTH * 4 - 4)

在地址StackSvc的空間(SvcStackSpace + SVC_STACK_LEGTH * 4 - 4),這個值正好是下面用SPACE 申請的空間的高地址,ATPCS標(biāo)準(zhǔn)ARM采用FD棧,所以要去棧空間的高地址;

        AREA SWIStacks, DATA, NOINIT,ALIGN=2
        SvcStackSpace SPACE SVC_STACK_LEGTH * 4

使用SPACE 申請以SvcStackSpace標(biāo)號為起始地址,空間為SVC_STACK_LEGTH * 4大小的空間。

發(fā)表評論
評論列表(網(wǎng)友評論僅供網(wǎng)友表達(dá)個人看法,并不表明本站同意其觀點或證實其描述)
色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 亚洲美女精品久久| 久久久久久久影院| 在线成人中文字幕| 丝袜美腿精品国产二区| 中文字幕久久久| yellow中文字幕久久| 久久国产精品亚洲| 欧美激情网站在线观看| 91国产美女在线观看| 国产成人aa精品一区在线播放| 国产激情久久久| 亚洲第一免费播放区| 亚洲色图在线观看| 久久伊人精品视频| 欧美激情一二区| 国产精品九九久久久久久久| 成人激情视频在线| 一区二区三区四区精品| 欧美超级乱淫片喷水| 97免费视频在线| 国产精品视频网站| 亚洲色图第一页| 精品久久久久久| 欧美中文在线字幕| 亚洲国产精品女人久久久| 少妇久久久久久| 国语自产精品视频在线看抢先版图片| 欧美性在线观看| 亚洲高清久久网| 久久艹在线视频| 国产精品久久久久7777婷婷| 日韩av网址在线| 欧美日韩中文字幕日韩欧美| 国产成人午夜视频网址| 亚洲女人天堂av| 欧美性猛交xxxx免费看| 国产日韩av在线播放| 日韩在线免费av| 国产成人97精品免费看片| 亚洲色图综合网| 久久久人成影片一区二区三区观看|