📄 inth.asm
字号:
CMP V9, #64 ; |91|
BCS L9 ; |91|
; |91|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L8
;*
;* Loop source line : 91
;* Loop closing brace source line : 94
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L8:
DW$L$_InterruptInit$4$B:
.dwpsn "inth.c",93,5
MOV A1, #0 ; |93|
LDR V9, [SP, #0] ; |93|
LDR A2, CON10 ; |93|
STR A1, [A2, +V9, LSL #2] ; |93|
.dwpsn "inth.c",91,37
LDR V9, [SP, #0] ; |91|
ADD V9, V9, #1 ; |91|
STR V9, [SP, #0] ; |91|
.dwpsn "inth.c",91,21
LDR V9, [SP, #0] ; |91|
CMP V9, #64 ; |91|
BCC L8 ; |91|
; |91|
DW$L$_InterruptInit$4$E:
;* --------------------------------------------------------------------------*
L9:
.dwpsn "inth.c",96,3
LDR A1, CON4 ; |96|
MVN A4, #0 ; |96|
MOV A3, #32 ; |96|
MOV A2, #0 ; |96|
BL _Setgroup32bit ; |96|
; |96|
.dwpsn "inth.c",98,3
MVN A4, #0 ; |98|
MOV A3, #32 ; |98|
MOV A2, #0 ; |98|
LDR A1, CON6 ; |98|
BL _Setgroup32bit ; |98|
; |98|
.dwpsn "inth.c",100,3
MVN A4, #0 ; |100|
MOV A3, #32 ; |100|
MOV A2, #0 ; |100|
LDR A1, CON8 ; |100|
BL _Setgroup32bit ; |100|
; |100|
.dwpsn "inth.c",102,3
.dwcfa 0x0e, 8
LDMFD SP!, {A4, PC}
DW$22 .dwtag DW_TAG_loop
.dwattr DW$22, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\inth.asm:L8:1:1214374294")
.dwattr DW$22, DW_AT_begin_file("inth.c")
.dwattr DW$22, DW_AT_begin_line(0x5b)
.dwattr DW$22, DW_AT_end_line(0x5e)
DW$23 .dwtag DW_TAG_loop_range
.dwattr DW$23, DW_AT_low_pc(DW$L$_InterruptInit$4$B)
.dwattr DW$23, DW_AT_high_pc(DW$L$_InterruptInit$4$E)
.dwendtag DW$22
DW$24 .dwtag DW_TAG_loop
.dwattr DW$24, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\inth.asm:L6:1:1214374294")
.dwattr DW$24, DW_AT_begin_file("inth.c")
.dwattr DW$24, DW_AT_begin_line(0x57)
.dwattr DW$24, DW_AT_end_line(0x5a)
DW$25 .dwtag DW_TAG_loop_range
.dwattr DW$25, DW_AT_low_pc(DW$L$_InterruptInit$2$B)
.dwattr DW$25, DW_AT_high_pc(DW$L$_InterruptInit$2$E)
.dwendtag DW$24
.dwattr DW$20, DW_AT_end_file("inth.c")
.dwattr DW$20, DW_AT_end_line(0x66)
.dwattr DW$20, DW_AT_end_column(0x03)
.dwendentry
.dwendtag DW$20
.sect ".text"
.align 4
.clink
.armfunc _InterruptProcess
.state32
.global _InterruptProcess
DW$26 .dwtag DW_TAG_subprogram, DW_AT_name("InterruptProcess"), DW_AT_symbol_name("_InterruptProcess")
.dwattr DW$26, DW_AT_low_pc(_InterruptProcess)
.dwattr DW$26, DW_AT_high_pc(0x00)
.dwattr DW$26, DW_AT_begin_file("inth.c")
.dwattr DW$26, DW_AT_begin_line(0x71)
.dwattr DW$26, DW_AT_begin_column(0x06)
.dwpsn "inth.c",114,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: InterruptProcess *
;* *
;* 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 *
;*****************************************************************************
_InterruptProcess:
;* --------------------------------------------------------------------------*
.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$27 .dwtag DW_TAG_formal_parameter, DW_AT_name("inthIndex"), DW_AT_symbol_name("_inthIndex")
.dwattr DW$27, DW_AT_type(*DW$T$11)
.dwattr DW$27, DW_AT_location[DW_OP_reg0]
DW$28 .dwtag DW_TAG_variable, DW_AT_name("inthIndex"), DW_AT_symbol_name("_inthIndex")
.dwattr DW$28, DW_AT_type(*DW$T$11)
.dwattr DW$28, DW_AT_location[DW_OP_breg13 0]
DW$29 .dwtag DW_TAG_variable, DW_AT_name("isrProcess"), DW_AT_symbol_name("_isrProcess")
.dwattr DW$29, DW_AT_type(*DW$T$28)
.dwattr DW$29, DW_AT_location[DW_OP_breg13 4]
STR A1, [SP, #0] ; |114|
.dwpsn "inth.c",116,3
LDR V9, [SP, #0] ; |116|
CMP V9, #96 ; |116|
BCC L11 ; |116|
; |116|
;* --------------------------------------------------------------------------*
.dwpsn "inth.c",117,15
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L10
;*
;* Loop source line : 117
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L10:
DW$L$_InterruptProcess$3$B:
B L10 ; |117|
; |117|
DW$L$_InterruptProcess$3$E:
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L11:
.dwpsn "inth.c",122,4
LDR V9, [SP, #0] ; |122|
LDR A1, CON9 ; |122|
LDR V9, [A1, +V9, LSL #2] ; |122|
STR V9, [SP, #4] ; |122|
.dwpsn "inth.c",123,4
LDR V9, [SP, #4] ; |123|
BLX V9 ; |123|
; |123|
.dwpsn "inth.c",126,3
.dwpsn "inth.c",128,3
.dwcfa 0x0e, 12
LDMFD SP!, {A3, A4, PC}
DW$30 .dwtag DW_TAG_loop
.dwattr DW$30, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\inth.asm:L10:1:1214374294")
.dwattr DW$30, DW_AT_begin_file("inth.c")
.dwattr DW$30, DW_AT_begin_line(0x75)
.dwattr DW$30, DW_AT_end_line(0x75)
DW$31 .dwtag DW_TAG_loop_range
.dwattr DW$31, DW_AT_low_pc(DW$L$_InterruptProcess$3$B)
.dwattr DW$31, DW_AT_high_pc(DW$L$_InterruptProcess$3$E)
.dwendtag DW$30
.dwattr DW$26, DW_AT_end_file("inth.c")
.dwattr DW$26, DW_AT_end_line(0x80)
.dwattr DW$26, DW_AT_end_column(0x03)
.dwendentry
.dwendtag DW$26
.sect ".text"
.align 4
.clink
.armfunc _ConfInterrupt
.state32
.global _ConfInterrupt
DW$32 .dwtag DW_TAG_subprogram, DW_AT_name("ConfInterrupt"), DW_AT_symbol_name("_ConfInterrupt")
.dwattr DW$32, DW_AT_low_pc(_ConfInterrupt)
.dwattr DW$32, DW_AT_high_pc(0x00)
.dwattr DW$32, DW_AT_begin_file("inth.c")
.dwattr DW$32, DW_AT_begin_line(0x8a)
.dwattr DW$32, DW_AT_begin_column(0x06)
.dwpsn "inth.c",140,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: ConfInterrupt *
;* *
;* 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 + 16 Auto + 4 Save = 20 byte *
;*****************************************************************************
_ConfInterrupt:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
STMFD SP!, {A1, A2, 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, 16
.dwcfa 0x80, 1, 4
.dwcfa 0x0e, 20
.dwcfa 0x80, 0, 5
.dwcfa 0x0e, 20
;* A1 assigned to _inthNumber
DW$33 .dwtag DW_TAG_formal_parameter, DW_AT_name("inthNumber"), DW_AT_symbol_name("_inthNumber")
.dwattr DW$33, DW_AT_type(*DW$T$11)
.dwattr DW$33, DW_AT_location[DW_OP_reg0]
;* A2 assigned to _irqOrFiq
DW$34 .dwtag DW_TAG_formal_parameter, DW_AT_name("irqOrFiq"), DW_AT_symbol_name("_irqOrFiq")
.dwattr DW$34, DW_AT_type(*DW$T$11)
.dwattr DW$34, DW_AT_location[DW_OP_reg1]
;* A3 assigned to _trigerMode
DW$35 .dwtag DW_TAG_formal_parameter, DW_AT_name("trigerMode"), DW_AT_symbol_name("_trigerMode")
.dwattr DW$35, DW_AT_type(*DW$T$11)
.dwattr DW$35, DW_AT_location[DW_OP_reg2]
;* A4 assigned to _inthPriority
DW$36 .dwtag DW_TAG_formal_parameter, DW_AT_name("inthPriority"), DW_AT_symbol_name("_inthPriority")
.dwattr DW$36, DW_AT_type(*DW$T$11)
.dwattr DW$36, DW_AT_location[DW_OP_reg3]
DW$37 .dwtag DW_TAG_variable, DW_AT_name("inthNumber"), DW_AT_symbol_name("_inthNumber")
.dwattr DW$37, DW_AT_type(*DW$T$11)
.dwattr DW$37, DW_AT_location[DW_OP_breg13 0]
DW$38 .dwtag DW_TAG_variable, DW_AT_name("irqOrFiq"), DW_AT_symbol_name("_irqOrFiq")
.dwattr DW$38, DW_AT_type(*DW$T$11)
.dwattr DW$38, DW_AT_location[DW_OP_breg13 4]
DW$39 .dwtag DW_TAG_variable, DW_AT_name("trigerMode"), DW_AT_symbol_name("_trigerMode")
.dwattr DW$39, DW_AT_type(*DW$T$11)
.dwattr DW$39, DW_AT_location[DW_OP_breg13 8]
DW$40 .dwtag DW_TAG_variable, DW_AT_name("inthPriority"), DW_AT_symbol_name("_inthPriority")
.dwattr DW$40, DW_AT_type(*DW$T$11)
.dwattr DW$40, DW_AT_location[DW_OP_breg13 12]
STR A4, [SP, #12] ; |140|
STR A3, [SP, #8] ; |140|
STR A2, [SP, #4] ; |140|
STR A1, [SP, #0] ; |140|
.dwpsn "inth.c",141,4
LDR V9, [SP, #0] ; |141|
CMP V9, #31 ; |141|
BHI L12 ; |141|
; |141|
;* --------------------------------------------------------------------------*
.dwpsn "inth.c",142,8
LDR V9, [SP, #0] ; |142|
LDR A4, [SP, #4] ; |142|
MOV A3, #1 ; |142|
MOV V9, V9, LSL #2 ; |142|
MOV A2, #0 ; |142|
SUB V9, V9, #224 ; |142|
SUB A1, V9, #78848 ; |142|
BL _Setgroup32bit ; |142|
; |142|
.dwpsn "inth.c",143,8
LDR V9, [SP, #0] ; |143|
MOV V9, V9, LSL #2 ; |143|
SUB V9, V9, #224 ; |143|
MOV A3, #1 ; |143|
MOV A2, #1 ; |143|
LDR A4, [SP, #8] ; |143|
SUB A1, V9, #78848 ; |143|
BL _Setgroup32bit ; |143|
; |143|
.dwpsn "inth.c",144,8
LDR V9, [SP, #0] ; |144|
MOV V9, V9, LSL #2 ; |144|
SUB V9, V9, #224 ; |144|
MOV A3, #5 ; |144|
MOV A2, #2 ; |144|
LDR A4, [SP, #12] ; |144|
SUB A1, V9, #78848 ; |144|
BL _Setgroup32bit ; |144|
; |144|
.dwpsn "inth.c",146,8
LDR A1, [SP, #0] ; |146|
BL _OpenInterrupt ; |146|
; |146|
.dwpsn "inth.c",148,8
B L16 ; |148|
; |148|
;* --------------------------------------------------------------------------*
L12:
.dwpsn "inth.c",149,9
LDR V9, [SP, #0] ; |149|
CMP V9, #64 ; |149|
BCS L13 ; |149|
; |149|
;* --------------------------------------------------------------------------*
.dwpsn "inth.c",151,8
LDR V9, [SP, #0] ; |151|
LDR A4, [SP, #4] ; |151|
MOV A3, #1 ; |151|
MOV V9, V9, LSL #2 ; |151|
MOV A2, #0 ; |151|
SUB V9, V9, #996 ; |151|
SUB A1, V9, #130048 ; |151|
BL _Setgroup32bit ; |151|
; |151|
.dwpsn "inth.c",152,8
LDR V9, [SP, #0] ; |152|
MOV V9, V9, LSL #2 ; |152|
SUB V9, V9, #996 ; |152|
MOV A3, #1 ; |152|
MOV A2, #1 ; |152|
LDR A4, [SP, #8] ; |152|
SUB A1, V9, #130048 ; |152|
BL _Setgroup32bit ; |152|
; |152|
.dwpsn "inth.c",153,8
LDR V9, [SP, #0] ; |153|
MOV V9, V9, LSL #2 ; |153|
SUB V9, V9, #996 ; |153|
SUB A1, V9, #130048 ; |153|
LDR V9, [SP, #12] ; |153|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -