⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stkchk32.asm

📁 MMI层OBJ不能完全编译
💻 ASM
字号:
;******************************************************************************
;* STKCHK.ASM  - STACK OVERFLOW CHECK -  v2.54                                *
;* Copyright (c) 1996-2004 Texas Instruments Incorporated                     *
;******************************************************************************
 
;****************************************************************************
;* C_STKCHK - CHECK THE STACK FOR OVERFLOW TO MANAGE THE STACK DYNAMICALLY
;*            32 BIS
;****************************************************************************
;*
;*   o FRAME SIZE IS IN V1              
;****************************************************************************
        .state32
 
        .global C_STKCHK
        .global C_STKCHK_LEAF

C_STKCHK: .asmfunc
C_STKCHK_LEAF:
        LDR       V9, c_stack 		; Load the top of the stack address
	ADD	  V9, V9, V1  		; Add the frame size 
	ADD	  V9, V9, #32 		; Add max register save size
        CMP       V9, SP      		; Return if no stack overflow
        BLT       L1

        LDR       V1, c_stkchkc 	; _stkchk_called is set if we already 
        LDR       V9, [V1, #0]		; detected stack overflow 
        CMP       V9, #0	
        BNE       L1			; return if _stkchk_called is set

        MOV       V9, #1		; Now we have detected stack overflow
        STR       V9, [V1, #0]		; So call the user function to 
        BL        _handle_stkovf	;   handle the stack overflow

        MOV       R0, #0
        BL        _exit			; Call the exit routine
L1:
	BX	  LR
	.endasmfunc

;******************************************************************************
;* CONSTANT TABLE                                                             *
;******************************************************************************
            .align  4
c_stkchkc:  .field          _stkchk_called,32
            .align  4
c_stack:    .field          __stack,32

;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES                                              *
;******************************************************************************
        .global _handle_stkovf
        .global _exit
        .global __stack
	.global _stkchk_called

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -