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

📄 inth.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        MOV       A3, #1                ; |237| 
        SUB       A2, V9, #32           ; |237| 
        BL        _Setgroup32bit        ; |237| 
        ; |237| 
	.dwpsn	"inth.c",239,3
        B         L24                   ; |239| 
        ; |239| 
;* --------------------------------------------------------------------------*
L23:    
	.dwpsn	"inth.c",243,6
        LDR       V9, [SP, #0]          ; |243| 
        LDR       A1, CON8              ; |243| 
        MOV       A4, #1                ; |243| 
        MOV       A3, #1                ; |243| 
        SUB       A2, V9, #64           ; |243| 
        BL        _Setgroup32bit        ; |243| 
        ; |243| 
	.dwpsn	"inth.c",244,6
;* --------------------------------------------------------------------------*
L24:    
	.dwpsn	"inth.c",246,3
	.dwcfa	0x0e, 12
        LDMFD     SP!, {A3, A4, PC}

DW$53	.dwtag  DW_TAG_loop
	.dwattr DW$53, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\inth.asm:L20:1:1214374294")
	.dwattr DW$53, DW_AT_begin_file("inth.c")
	.dwattr DW$53, DW_AT_begin_line(0xe1)
	.dwattr DW$53, DW_AT_end_line(0xe1)
DW$54	.dwtag  DW_TAG_loop_range
	.dwattr DW$54, DW_AT_low_pc(DW$L$_DisableInerrupt$5$B)
	.dwattr DW$54, DW_AT_high_pc(DW$L$_DisableInerrupt$5$E)
	.dwendtag DW$53

	.dwattr DW$48, DW_AT_end_file("inth.c")
	.dwattr DW$48, DW_AT_end_line(0xf6)
	.dwattr DW$48, DW_AT_end_column(0x03)
	.dwendentry
	.dwendtag DW$48

	.sect	".text"
	.align	4
	.clink
	.armfunc _GetInthVectorForIRQ
	.state32
	.global	_GetInthVectorForIRQ

DW$55	.dwtag  DW_TAG_subprogram, DW_AT_name("GetInthVectorForIRQ"), DW_AT_symbol_name("_GetInthVectorForIRQ")
	.dwattr DW$55, DW_AT_low_pc(_GetInthVectorForIRQ)
	.dwattr DW$55, DW_AT_high_pc(0x00)
	.dwattr DW$55, DW_AT_begin_file("inth.c")
	.dwattr DW$55, DW_AT_begin_line(0xff)
	.dwattr DW$55, DW_AT_begin_column(0x0e)
	.dwpsn	"inth.c",256,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: GetInthVectorForIRQ                                        *
;*                                                                           *
;*   Regs Modified     : A1,V9,SP,SR                                         *
;*   Regs Used         : A1,V9,SP,SR                                         *
;*   Local Frame Size  : 0 Args + 4 Auto + 0 Save = 4 byte                   *
;*****************************************************************************
_GetInthVectorForIRQ:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        SUB       SP, SP, #4
	.dwcfa	0x0e, 4
DW$56	.dwtag  DW_TAG_variable, DW_AT_name("isrNumber"), DW_AT_symbol_name("_isrNumber")
	.dwattr DW$56, DW_AT_type(*DW$T$11)
	.dwattr DW$56, DW_AT_location[DW_OP_breg13 0]
	.dwpsn	"inth.c",257,16
        MOV       V9, #65536            ; |257| 
        SUB       V9, V9, #1            ; |257| 
        STR       V9, [SP, #0]          ; |257| 
	.dwpsn	"inth.c",259,3
        LDR       V9, CON17             ; |259| 
        LDR       V9, [V9, #0]          ; |259| 
        AND       V9, V9, #31           ; |259| 
        STR       V9, [SP, #0]          ; |259| 
	.dwpsn	"inth.c",260,3
        LDR       V9, [SP, #0]          ; |260| 
        CMP       V9, #0                ; |260| 
        BNE       L25                   ; |260| 
        ; |260| 
;* --------------------------------------------------------------------------*
	.dwpsn	"inth.c",261,7
        LDR       V9, CON18             ; |261| 
        LDR       V9, [V9, #0]          ; |261| 
        AND       V9, V9, #127          ; |261| 
        STR       V9, [SP, #0]          ; |261| 
	.dwpsn	"inth.c",262,7
        LDR       V9, [SP, #0]          ; |262| 
        ADD       V9, V9, #32           ; |262| 
        STR       V9, [SP, #0]          ; |262| 
	.dwpsn	"inth.c",264,7
        LDR       A1, [SP, #0]          ; |264| 
        B         L26                   ; |264| 
        ; |264| 
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L25:    
	.dwpsn	"inth.c",268,3
        LDR       A1, [SP, #0]          ; |268| 
;* --------------------------------------------------------------------------*
L26:    
	.dwpsn	"inth.c",269,3
        ADD       SP, SP, #4            ; |268| 
	.dwcfa	0x0e, 0
        BX        LR
	.dwattr DW$55, DW_AT_end_file("inth.c")
	.dwattr DW$55, DW_AT_end_line(0x10d)
	.dwattr DW$55, DW_AT_end_column(0x03)
	.dwendentry
	.dwendtag DW$55

	.sect	".text"
	.align	4
	.clink
	.armfunc _EnableNewInterrupt
	.state32
	.global	_EnableNewInterrupt

DW$57	.dwtag  DW_TAG_subprogram, DW_AT_name("EnableNewInterrupt"), DW_AT_symbol_name("_EnableNewInterrupt")
	.dwattr DW$57, DW_AT_low_pc(_EnableNewInterrupt)
	.dwattr DW$57, DW_AT_high_pc(0x00)
	.dwattr DW$57, DW_AT_begin_file("inth.c")
	.dwattr DW$57, DW_AT_begin_line(0x116)
	.dwattr DW$57, DW_AT_begin_column(0x06)
	.dwpsn	"inth.c",279,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: EnableNewInterrupt                                         *
;*                                                                           *
;*   Regs Modified     : A1,A2,A3,A4,V9,SP,LR,SR                             *
;*   Regs Used         : A1,A2,A3,A4,V9,SP,LR,SR                             *
;*   Local Frame Size  : 0 Args + 4 Auto + 4 Save = 8 byte                   *
;*****************************************************************************
_EnableNewInterrupt:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {A4, LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
	.dwcfa	0x0e, 8
	.dwcfa	0x80, 3, 2
	.dwcfa	0x0e, 8
;* A1    assigned to _isrMode
DW$58	.dwtag  DW_TAG_formal_parameter, DW_AT_name("isrMode"), DW_AT_symbol_name("_isrMode")
	.dwattr DW$58, DW_AT_type(*DW$T$11)
	.dwattr DW$58, DW_AT_location[DW_OP_reg0]
DW$59	.dwtag  DW_TAG_variable, DW_AT_name("isrMode"), DW_AT_symbol_name("_isrMode")
	.dwattr DW$59, DW_AT_type(*DW$T$11)
	.dwattr DW$59, DW_AT_location[DW_OP_breg13 0]
        STR       A1, [SP, #0]          ; |279| 
	.dwpsn	"inth.c",280,4
        LDR       V9, [SP, #0]          ; |280| 
        CMP       V9, #0                ; |280| 
        BNE       L27                   ; |280| 
        ; |280| 
;* --------------------------------------------------------------------------*
	.dwpsn	"inth.c",282,8
        LDR       A1, CON20             ; |282| 
        MOV       A4, #1                ; |282| 
        MOV       A3, #1                ; |282| 
        MOV       A2, #0                ; |282| 
        BL        _Setgroup32bit        ; |282| 
        ; |282| 
	.dwpsn	"inth.c",283,8
        MOV       A4, #1                ; |283| 
        MOV       A3, #1                ; |283| 
        MOV       A2, #0                ; |283| 
        LDR       A1, CON22             ; |283| 
        BL        _Setgroup32bit        ; |283| 
        ; |283| 
	.dwpsn	"inth.c",285,4
        B         L28                   ; |285| 
        ; |285| 
;* --------------------------------------------------------------------------*
L27:    
	.dwpsn	"inth.c",286,9
        LDR       V9, [SP, #0]          ; |286| 
        CMP       V9, #1                ; |286| 
        BNE       L28                   ; |286| 
        ; |286| 
;* --------------------------------------------------------------------------*
	.dwpsn	"inth.c",287,8
        LDR       A1, CON20             ; |287| 
        MOV       A4, #1                ; |287| 
        MOV       A3, #1                ; |287| 
        MOV       A2, #1                ; |287| 
        BL        _Setgroup32bit        ; |287| 
        ; |287| 
	.dwpsn	"inth.c",288,5
        MOV       A4, #1                ; |288| 
        MOV       A3, #1                ; |288| 
        MOV       A2, #1                ; |288| 
        LDR       A1, CON22             ; |288| 
        BL        _Setgroup32bit        ; |288| 
        ; |288| 
	.dwpsn	"inth.c",290,4
;* --------------------------------------------------------------------------*
L28:    
	.dwpsn	"inth.c",291,1
	.dwcfa	0x0e, 8
        LDMFD     SP!, {A4, PC}
	.dwattr DW$57, DW_AT_end_file("inth.c")
	.dwattr DW$57, DW_AT_end_line(0x123)
	.dwattr DW$57, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$57

	.sect	".text"
	.align	4
	.clink
	.armfunc _IsrRegister
	.state32
	.global	_IsrRegister

DW$60	.dwtag  DW_TAG_subprogram, DW_AT_name("IsrRegister"), DW_AT_symbol_name("_IsrRegister")
	.dwattr DW$60, DW_AT_low_pc(_IsrRegister)
	.dwattr DW$60, DW_AT_high_pc(0x00)
	.dwattr DW$60, DW_AT_begin_file("inth.c")
	.dwattr DW$60, DW_AT_begin_line(0x12e)
	.dwattr DW$60, DW_AT_begin_column(0x0e)
	.dwpsn	"inth.c",303,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: IsrRegister                                                *
;*                                                                           *
;*   Regs Modified     : A1,A2,V9,SP,SR                                      *
;*   Regs Used         : A1,A2,V9,SP,SR                                      *
;*   Local Frame Size  : 0 Args + 8 Auto + 0 Save = 8 byte                   *
;*****************************************************************************
_IsrRegister:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        SUB       SP, SP, #8
	.dwcfa	0x0e, 8
;* A1    assigned to _inthIndex
DW$61	.dwtag  DW_TAG_formal_parameter, DW_AT_name("inthIndex"), DW_AT_symbol_name("_inthIndex")
	.dwattr DW$61, DW_AT_type(*DW$T$11)
	.dwattr DW$61, DW_AT_location[DW_OP_reg0]
;* A2    assigned to _isrHandlerName
DW$62	.dwtag  DW_TAG_formal_parameter, DW_AT_name("isrHandlerName"), DW_AT_symbol_name("_isrHandlerName")
	.dwattr DW$62, DW_AT_type(*DW$T$28)
	.dwattr DW$62, DW_AT_location[DW_OP_reg1]
DW$63	.dwtag  DW_TAG_variable, DW_AT_name("inthIndex"), DW_AT_symbol_name("_inthIndex")
	.dwattr DW$63, DW_AT_type(*DW$T$11)
	.dwattr DW$63, DW_AT_location[DW_OP_breg13 0]
DW$64	.dwtag  DW_TAG_variable, DW_AT_name("isrHandlerName"), DW_AT_symbol_name("_isrHandlerName")
	.dwattr DW$64, DW_AT_type(*DW$T$28)
	.dwattr DW$64, DW_AT_location[DW_OP_breg13 4]
        STR       A2, [SP, #4]          ; |303| 
        STR       A1, [SP, #0]          ; |303| 
	.dwpsn	"inth.c",306,4
        LDR       V9, [SP, #0]          ; |306| 
        CMP       V9, #95               ; |306| 
        BLS       L29                   ; |306| 
        ; |306| 
;* --------------------------------------------------------------------------*
	.dwpsn	"inth.c",307,6
        MOV       A1, #255              ; |307| 
        B         L30                   ; |307| 
        ; |307| 
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L29:    
	.dwpsn	"inth.c",312,3
        LDR       V9, [SP, #4]          ; |312| 
        LDR       A1, [SP, #0]          ; |312| 
        LDR       A2, CON9              ; |312| 
        STR       V9, [A2, +A1, LSL #2] ; |312| 
	.dwpsn	"inth.c",315,3
        MOV       A1, #0                ; |315| 
;* --------------------------------------------------------------------------*
L30:    
	.dwpsn	"inth.c",318,1
        ADD       SP, SP, #8            ; |315| 
	.dwcfa	0x0e, 0
        BX        LR
	.dwattr DW$60, DW_AT_end_file("inth.c")
	.dwattr DW$60, DW_AT_end_line(0x13e)
	.dwattr DW$60, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$60

	.sect	".text"
	.align	4
	.armfunc _EX_AbortD
	.state32
	.global	_EX_AbortD

DW$65	.dwtag  DW_TAG_subprogram, DW_AT_name("EX_AbortD"), DW_AT_symbol_name("_EX_AbortD")
	.dwattr DW$65, DW_AT_low_pc(_EX_AbortD)
	.dwattr DW$65, DW_AT_high_pc(0x00)
	.dwattr DW$65, DW_AT_begin_file("inth.c")
	.dwattr DW$65, DW_AT_begin_line(0x144)
	.dwattr DW$65, DW_AT_begin_column(0x06)
	.dwattr DW$65, DW_AT_TI_interrupt(0x01)
	.dwpsn	"inth.c",325,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: EX_AbortD                                                  *
;*                                                                           *
;*   Regs Modified     : A1,A2,A3,A4,V9,SP,LR,SR                             *
;*   Regs Used         : A1,A2,A3,A4,V9,SP,LR,SR                             *
;*   Local Frame Size  : 0 Args + 0 Auto + 24 Save = 24 byte                 *
;*****************************************************************************
_EX_AbortD:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {A1, A2, A3, A4, V9, LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
	.dwcfa	0x0e, 8
	.dwcfa	0x80, 12, 2
	.dwcfa	0x0e, 12
	.dwcfa	0x80, 3, 3
	.dwcfa	0x0e, 16
	.dwcfa	0x80, 2, 4

⌨️ 快捷键说明

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