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

📄 inth.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        MOV       A3, #7                ; |153| 
        MOV       A2, #2                ; |153| 
        SUB       A4, V9, #32           ; |153| 
        BL        _Setgroup32bit        ; |153| 
        ; |153| 
	.dwpsn	"inth.c",155,8
        LDR       A1, [SP, #0]          ; |155| 
        BL        _OpenInterrupt        ; |155| 
        ; |155| 
	.dwpsn	"inth.c",157,8
        B         L16                   ; |157| 
        ; |157| 
;* --------------------------------------------------------------------------*
L13:    
	.dwpsn	"inth.c",158,9
        LDR       V9, [SP, #0]          ; |158| 
        CMP       V9, #96               ; |158| 
        BCS       L14                   ; |158| 
        ; |158| 
;* --------------------------------------------------------------------------*
	.dwpsn	"inth.c",159,8
        LDR       V9, [SP, #0]          ; |159| 
        LDR       A4, [SP, #4]          ; |159| 
        MOV       A3, #1                ; |159| 
        MOV       V9, V9, LSL #2        ; |159| 
        MOV       A2, #0                ; |159| 
        SUB       V9, V9, #740          ; |159| 
        SUB       A1, V9, #130048       ; |159| 
        BL        _Setgroup32bit        ; |159| 
        ; |159| 
	.dwpsn	"inth.c",160,8
        LDR       V9, [SP, #0]          ; |160| 
        MOV       V9, V9, LSL #2        ; |160| 
        SUB       V9, V9, #740          ; |160| 
        MOV       A3, #1                ; |160| 
        MOV       A2, #1                ; |160| 
        LDR       A4, [SP, #8]          ; |160| 
        SUB       A1, V9, #130048       ; |160| 
        BL        _Setgroup32bit        ; |160| 
        ; |160| 
	.dwpsn	"inth.c",161,8
        LDR       V9, [SP, #0]          ; |161| 
        MOV       V9, V9, LSL #2        ; |161| 
        SUB       V9, V9, #740          ; |161| 
        SUB       A1, V9, #130048       ; |161| 
        LDR       V9, [SP, #12]         ; |161| 
        MOV       A3, #7                ; |161| 
        MOV       A2, #2                ; |161| 
        SUB       A4, V9, #32           ; |161| 
        BL        _Setgroup32bit        ; |161| 
        ; |161| 
	.dwpsn	"inth.c",163,8
        LDR       A1, [SP, #0]          ; |163| 
        BL        _OpenInterrupt        ; |163| 
        ; |163| 
	.dwpsn	"inth.c",165,8
        B         L16                   ; |165| 
        ; |165| 
;* --------------------------------------------------------------------------*
L14:    
	.dwpsn	"inth.c",167,10
;* --------------------------------------------------------------------------*
;*   BEGIN LOOP L15
;*
;*   Loop source line                : 167
;*   Known Minimum Trip Count        : 1
;*   Known Maximum Trip Count        : 4294967295
;*   Known Max Trip Count Factor     : 1
;* --------------------------------------------------------------------------*
L15:    
DW$L$_ConfInterrupt$8$B:
        B         L15                   ; |167| 
        ; |167| 
DW$L$_ConfInterrupt$8$E:
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L16:    
	.dwpsn	"inth.c",170,1
        STR       A1, [SP, #0]
	.dwcfa	0x0e, 20
        LDMFD     SP!, {A1, A2, A3, A4, PC}

DW$41	.dwtag  DW_TAG_loop
	.dwattr DW$41, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\inth.asm:L15:1:1214374294")
	.dwattr DW$41, DW_AT_begin_file("inth.c")
	.dwattr DW$41, DW_AT_begin_line(0xa7)
	.dwattr DW$41, DW_AT_end_line(0xa7)
DW$42	.dwtag  DW_TAG_loop_range
	.dwattr DW$42, DW_AT_low_pc(DW$L$_ConfInterrupt$8$B)
	.dwattr DW$42, DW_AT_high_pc(DW$L$_ConfInterrupt$8$E)
	.dwendtag DW$41

	.dwattr DW$32, DW_AT_end_file("inth.c")
	.dwattr DW$32, DW_AT_end_line(0xaa)
	.dwattr DW$32, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$32

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

DW$43	.dwtag  DW_TAG_subprogram, DW_AT_name("InterruptClearPending"), DW_AT_symbol_name("_InterruptClearPending")
	.dwattr DW$43, DW_AT_low_pc(_InterruptClearPending)
	.dwattr DW$43, DW_AT_high_pc(0x00)
	.dwattr DW$43, DW_AT_begin_file("inth.c")
	.dwattr DW$43, DW_AT_begin_line(0xb9)
	.dwattr DW$43, DW_AT_begin_column(0x06)
	.dwpsn	"inth.c",186,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: InterruptClearPending                                      *
;*                                                                           *
;*   Regs Modified     : A1,A2,A3,V9,SP,SR                                   *
;*   Regs Used         : A1,A2,A3,V9,SP,SR                                   *
;*   Local Frame Size  : 0 Args + 4 Auto + 0 Save = 4 byte                   *
;*****************************************************************************
_InterruptClearPending:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        SUB       SP, SP, #4
	.dwcfa	0x0e, 4
;* A1    assigned to _ItIndex
DW$44	.dwtag  DW_TAG_formal_parameter, DW_AT_name("ItIndex"), DW_AT_symbol_name("_ItIndex")
	.dwattr DW$44, DW_AT_type(*DW$T$34)
	.dwattr DW$44, DW_AT_location[DW_OP_reg0]
DW$45	.dwtag  DW_TAG_variable, DW_AT_name("ItIndex"), DW_AT_symbol_name("_ItIndex")
	.dwattr DW$45, DW_AT_type(*DW$T$34)
	.dwattr DW$45, DW_AT_location[DW_OP_breg13 0]
DW$46	.dwtag  DW_TAG_variable, DW_AT_name("section"), DW_AT_symbol_name("_section")
	.dwattr DW$46, DW_AT_type(*DW$T$34)
	.dwattr DW$46, DW_AT_location[DW_OP_breg13 1]
DW$47	.dwtag  DW_TAG_variable, DW_AT_name("It_index_in_section"), DW_AT_symbol_name("_It_index_in_section")
	.dwattr DW$47, DW_AT_type(*DW$T$34)
	.dwattr DW$47, DW_AT_location[DW_OP_breg13 2]
        STRB      A1, [SP, #0]          ; |186| 
	.dwpsn	"inth.c",191,3
        LDRB      V9, [SP, #0]          ; |191| 
        CMP       V9, #31               ; |191| 
        BLE       L17                   ; |191| 
        ; |191| 
;* --------------------------------------------------------------------------*
	.dwpsn	"inth.c",193,5
        LDRB      V9, [SP, #0]          ; |193| 
        MOV       A1, V9, ASR #4        ; |193| 
        ADD       V9, V9, A1, LSR #27   ; |193| 
        MOV       V9, V9, ASR #5        ; |193| 
        SUB       V9, V9, #1            ; |193| 
        STRB      V9, [SP, #1]          ; |193| 
	.dwpsn	"inth.c",194,5
        LDRB      V9, [SP, #0]          ; |194| 
        MOV       A1, V9, ASR #4        ; |194| 
        ADD       A1, V9, A1, LSR #27   ; |194| 
        BIC       A1, A1, #31           ; |194| 
        SUB       V9, V9, A1            ; |194| 
        STRB      V9, [SP, #2]          ; |194| 
	.dwpsn	"inth.c",196,5
        LDRB      V9, [SP, #1]          ; |196| 
        MOV       V9, V9, LSL #8        ; |196| 
        SUB       V9, V9, #256          ; |196| 
        SUB       V9, V9, #78848        ; |196| 
        MOV       A3, #1                ; |196| 
        LDRB      A1, [SP, #2]          ; |196| 
        LDR       A2, [V9, #0]          ; |196| 
        BIC       A1, A2, A3, LSL A1    ; |196| 
        STR       A1, [V9, #0]          ; |196| 
	.dwpsn	"inth.c",197,3
        B         L18                   ; |197| 
        ; |197| 
;* --------------------------------------------------------------------------*
L17:    
	.dwpsn	"inth.c",201,5
        LDR       A2, CON16             ; |201| 
        LDRB      V9, [SP, #0]          ; |201| 
        MOV       A3, #1                ; |201| 
        LDR       A1, [A2, #0]          ; |201| 
        BIC       V9, A1, A3, LSL V9    ; |201| 
        STR       V9, [A2, #0]          ; |201| 
	.dwpsn	"inth.c",202,3
;* --------------------------------------------------------------------------*
L18:    
	.dwpsn	"inth.c",203,1
        ADD       SP, SP, #4
	.dwcfa	0x0e, 0
        BX        LR
	.dwattr DW$43, DW_AT_end_file("inth.c")
	.dwattr DW$43, DW_AT_end_line(0xcb)
	.dwattr DW$43, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$43

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

DW$48	.dwtag  DW_TAG_subprogram, DW_AT_name("DisableInerrupt"), DW_AT_symbol_name("_DisableInerrupt")
	.dwattr DW$48, DW_AT_low_pc(_DisableInerrupt)
	.dwattr DW$48, DW_AT_high_pc(0x00)
	.dwattr DW$48, DW_AT_begin_file("inth.c")
	.dwattr DW$48, DW_AT_begin_line(0xd7)
	.dwattr DW$48, DW_AT_begin_column(0x06)
	.dwpsn	"inth.c",216,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: DisableInerrupt                                            *
;*                                                                           *
;*   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 + 8 Auto + 4 Save = 12 byte                  *
;*****************************************************************************
_DisableInerrupt:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {A3, A4, LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
	.dwcfa	0x0e, 8
	.dwcfa	0x80, 3, 2
	.dwcfa	0x0e, 12
	.dwcfa	0x80, 2, 3
	.dwcfa	0x0e, 12
;* A1    assigned to _inthIndex
DW$49	.dwtag  DW_TAG_formal_parameter, DW_AT_name("inthIndex"), DW_AT_symbol_name("_inthIndex")
	.dwattr DW$49, DW_AT_type(*DW$T$11)
	.dwattr DW$49, DW_AT_location[DW_OP_reg0]
;* A2    assigned to _disableFlag
DW$50	.dwtag  DW_TAG_formal_parameter, DW_AT_name("disableFlag"), DW_AT_symbol_name("_disableFlag")
	.dwattr DW$50, DW_AT_type(*DW$T$11)
	.dwattr DW$50, DW_AT_location[DW_OP_reg1]
DW$51	.dwtag  DW_TAG_variable, DW_AT_name("inthIndex"), DW_AT_symbol_name("_inthIndex")
	.dwattr DW$51, DW_AT_type(*DW$T$11)
	.dwattr DW$51, DW_AT_location[DW_OP_breg13 0]
DW$52	.dwtag  DW_TAG_variable, DW_AT_name("disableFlag"), DW_AT_symbol_name("_disableFlag")
	.dwattr DW$52, DW_AT_type(*DW$T$11)
	.dwattr DW$52, DW_AT_location[DW_OP_breg13 4]
        STR       A2, [SP, #4]          ; |216| 
        STR       A1, [SP, #0]          ; |216| 
	.dwpsn	"inth.c",217,3
        LDR       V9, [SP, #4]          ; |217| 
        CMP       V9, #0                ; |217| 
        BNE       L19                   ; |217| 
        ; |217| 
;* --------------------------------------------------------------------------*
	.dwpsn	"inth.c",218,7
        LDR       A1, CON4              ; |218| 
        MVN       A4, #0                ; |218| 
        MOV       A3, #32               ; |218| 
        MOV       A2, #0                ; |218| 
        BL        _Setgroup32bit        ; |218| 
        ; |218| 
	.dwpsn	"inth.c",219,7
        MVN       A4, #0                ; |219| 
        MOV       A3, #32               ; |219| 
        MOV       A2, #0                ; |219| 
        LDR       A1, CON6              ; |219| 
        BL        _Setgroup32bit        ; |219| 
        ; |219| 
	.dwpsn	"inth.c",220,7
        MVN       A4, #0                ; |220| 
        MOV       A3, #32               ; |220| 
        MOV       A2, #0                ; |220| 
        LDR       A1, CON8              ; |220| 
        BL        _Setgroup32bit        ; |220| 
        ; |220| 
	.dwpsn	"inth.c",221,4
        B         L24                   ; |221| 
        ; |221| 
;* --------------------------------------------------------------------------*
L19:    
	.dwpsn	"inth.c",223,8
        LDR       V9, [SP, #0]          ; |223| 
        CMP       V9, #96               ; |223| 
        BCC       L21                   ; |223| 
        ; |223| 
;* --------------------------------------------------------------------------*
	.dwpsn	"inth.c",225,13
;* --------------------------------------------------------------------------*
;*   BEGIN LOOP L20
;*
;*   Loop source line                : 225
;*   Known Minimum Trip Count        : 1
;*   Known Maximum Trip Count        : 4294967295
;*   Known Max Trip Count Factor     : 1
;* --------------------------------------------------------------------------*
L20:    
DW$L$_DisableInerrupt$5$B:
        B         L20                   ; |225| 
        ; |225| 
DW$L$_DisableInerrupt$5$E:
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L21:    
	.dwpsn	"inth.c",229,8
        LDR       V9, [SP, #0]          ; |229| 
        CMP       V9, #32               ; |229| 
        BCS       L22                   ; |229| 
        ; |229| 
;* --------------------------------------------------------------------------*
	.dwpsn	"inth.c",231,6
        LDR       A1, CON4              ; |231| 
        LDR       A2, [SP, #0]          ; |231| 
        MOV       A4, #1                ; |231| 
        MOV       A3, #1                ; |231| 
        BL        _Setgroup32bit        ; |231| 
        ; |231| 
	.dwpsn	"inth.c",233,7
        B         L24                   ; |233| 
        ; |233| 
;* --------------------------------------------------------------------------*
L22:    
	.dwpsn	"inth.c",235,9
        LDR       V9, [SP, #0]          ; |235| 
        CMP       V9, #64               ; |235| 
        BCS       L23                   ; |235| 
        ; |235| 
;* --------------------------------------------------------------------------*
	.dwpsn	"inth.c",237,6
        LDR       V9, [SP, #0]          ; |237| 
        LDR       A1, CON6              ; |237| 
        MOV       A4, #1                ; |237| 

⌨️ 快捷键说明

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