色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

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

在C程序運行以前要設置好棧空間,在嵌入式ARM系統中,ARM 的啟動代碼可以實現此類功能,

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文件對各種處理器模式棧空間的設置,但是在多進程編程時我們希望棧空間的設置更靈活,我們可以使用幾條偽指令來實現棧空間的申請,

AREA |subr|, CODE, READONLY

;軟件中斷

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

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

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

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

發表評論
評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
主站蜘蛛池模板: 国产精品久久无码不卡黑寡妇 | 国产国拍精品av在线观看按摩 | 成全在线观看免费高清动漫 | 亚洲人成网7777777国产 | 人人玩人人添人人澡东莞 | 无码国产精品成人 | 亚洲色欲综合天堂亚洲 | 男人女人双性人人妖太监 | 一本一道AV无码中文字幕﹣百度 | 在线看片免费人成视频久网 | 少妇中文字幕乱码亚洲影视 | 亚洲伊人久久综合影院 | 8ⅹ8x擦拨擦拨成人免费视频 | 一个人免费观看www视频在线 | 人人妻人人澡人人爽欧美精品 | 亚洲欧洲中文日韩av乱码 | 在线免费看黄 | sifangtv国产在线| 老师脱了内裤让我爽了一夜 | 亚洲成AV人片一区二区 | 亚洲精品TV久久久久久久久J | 伊人久久大香线蕉av最新 | 在线永久看片免费的视频 | 成人无码黄动漫在线播放 | 亚洲日韩中文无码久久 | 久久国产劲暴∨内射新川 | 无码人妻毛片丰满熟妇区毛片国产 | 草色网 | 黑色正能量最新入库 | 日韩精品 在线 国产 丝袜 | 超碰人人超碰人人 | 人妻精品久久无码专区涩涩 | AV不卡秒播在线观看 | 亚洲精品久久乱码水蜜桃摄影 | "欧美 黑人一级毛片" | 日韩AV无码成人精品国产 | 护士被强女千到高潮视频 | 毛片在线一区二区观看精品 | 欧美综合婷婷欧美综合五月 | 精品人妻一区二区三区四区在线 | 国产三级久久精品三级 |