triton_wled_test.asm
来自「OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI」· 汇编 代码 · 共 946 行 · 第 1/3 页
ASM
946 行
;* A1 assigned to _current
DW$27 .dwtag DW_TAG_formal_parameter, DW_AT_name("current"), DW_AT_symbol_name("_current")
.dwattr DW$27, DW_AT_type(*DW$T$21)
.dwattr DW$27, DW_AT_location[DW_OP_reg0]
DW$28 .dwtag DW_TAG_variable, DW_AT_name("current"), DW_AT_symbol_name("_current")
.dwattr DW$28, DW_AT_type(*DW$T$21)
.dwattr DW$28, DW_AT_location[DW_OP_breg13 0]
STRB A1, [SP, #0] ; |102|
.dwpsn "Triton_WLED_test.c",103,1
MOV A1, #0 ; |103|
BL _MSI2C_AccessPage ; |103|
; |103|
.dwpsn "Triton_WLED_test.c",104,1
LDRB V9, [SP, #0] ; |104|
MOV V9, V9, LSL #4 ; |104|
ORR V9, V9, #8 ; |104|
MOV A1, #113 ; |104|
AND A2, V9, #255
BL _MSI2C_MasterPollingSendAbb ; |104|
; |104|
.dwpsn "Triton_WLED_test.c",105,1
.dwcfa 0x0e, 8
LDMFD SP!, {A4, PC}
.dwattr DW$26, DW_AT_end_file("Triton_WLED_test.c")
.dwattr DW$26, DW_AT_end_line(0x69)
.dwattr DW$26, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$26
.sect ".text"
.align 4
.clink
.armfunc _triton_WLED_B_control
.state32
.global _triton_WLED_B_control
DW$29 .dwtag DW_TAG_subprogram, DW_AT_name("triton_WLED_B_control"), DW_AT_symbol_name("_triton_WLED_B_control")
.dwattr DW$29, DW_AT_low_pc(_triton_WLED_B_control)
.dwattr DW$29, DW_AT_high_pc(0x00)
.dwattr DW$29, DW_AT_begin_file("Triton_WLED_test.c")
.dwattr DW$29, DW_AT_begin_line(0x6b)
.dwattr DW$29, DW_AT_begin_column(0x06)
.dwpsn "Triton_WLED_test.c",108,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: triton_WLED_B_control *
;* *
;* 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 *
;*****************************************************************************
_triton_WLED_B_control:
;* --------------------------------------------------------------------------*
.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 _current
DW$30 .dwtag DW_TAG_formal_parameter, DW_AT_name("current"), DW_AT_symbol_name("_current")
.dwattr DW$30, DW_AT_type(*DW$T$21)
.dwattr DW$30, DW_AT_location[DW_OP_reg0]
DW$31 .dwtag DW_TAG_variable, DW_AT_name("current"), DW_AT_symbol_name("_current")
.dwattr DW$31, DW_AT_type(*DW$T$21)
.dwattr DW$31, DW_AT_location[DW_OP_breg13 0]
STRB A1, [SP, #0] ; |108|
.dwpsn "Triton_WLED_test.c",109,1
MOV A1, #0 ; |109|
BL _MSI2C_AccessPage ; |109|
; |109|
.dwpsn "Triton_WLED_test.c",110,1
LDRB V9, [SP, #0] ; |110|
MOV V9, V9, LSL #4 ; |110|
ORR V9, V9, #15 ; |110|
MOV A1, #114 ; |110|
AND A2, V9, #255
BL _MSI2C_MasterPollingSendAbb ; |110|
; |110|
.dwpsn "Triton_WLED_test.c",111,1
.dwcfa 0x0e, 8
LDMFD SP!, {A4, PC}
.dwattr DW$29, DW_AT_end_file("Triton_WLED_test.c")
.dwattr DW$29, DW_AT_end_line(0x6f)
.dwattr DW$29, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$29
.sect ".text"
.align 4
.clink
.armfunc _triton_WLED_C_control
.state32
.global _triton_WLED_C_control
DW$32 .dwtag DW_TAG_subprogram, DW_AT_name("triton_WLED_C_control"), DW_AT_symbol_name("_triton_WLED_C_control")
.dwattr DW$32, DW_AT_low_pc(_triton_WLED_C_control)
.dwattr DW$32, DW_AT_high_pc(0x00)
.dwattr DW$32, DW_AT_begin_file("Triton_WLED_test.c")
.dwattr DW$32, DW_AT_begin_line(0x71)
.dwattr DW$32, DW_AT_begin_column(0x06)
.dwpsn "Triton_WLED_test.c",114,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: triton_WLED_C_control *
;* *
;* 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 *
;*****************************************************************************
_triton_WLED_C_control:
;* --------------------------------------------------------------------------*
.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 _current
DW$33 .dwtag DW_TAG_formal_parameter, DW_AT_name("current"), DW_AT_symbol_name("_current")
.dwattr DW$33, DW_AT_type(*DW$T$21)
.dwattr DW$33, DW_AT_location[DW_OP_reg0]
DW$34 .dwtag DW_TAG_variable, DW_AT_name("current"), DW_AT_symbol_name("_current")
.dwattr DW$34, DW_AT_type(*DW$T$21)
.dwattr DW$34, DW_AT_location[DW_OP_breg13 0]
STRB A1, [SP, #0] ; |114|
.dwpsn "Triton_WLED_test.c",115,1
MOV A1, #0 ; |115|
BL _MSI2C_AccessPage ; |115|
; |115|
.dwpsn "Triton_WLED_test.c",116,1
LDRB V9, [SP, #0] ; |116|
MOV V9, V9, LSL #4 ; |116|
ORR V9, V9, #8 ; |116|
MOV A1, #115 ; |116|
AND A2, V9, #255
BL _MSI2C_MasterPollingSendAbb ; |116|
; |116|
.dwpsn "Triton_WLED_test.c",117,1
.dwcfa 0x0e, 8
LDMFD SP!, {A4, PC}
.dwattr DW$32, DW_AT_end_file("Triton_WLED_test.c")
.dwattr DW$32, DW_AT_end_line(0x75)
.dwattr DW$32, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$32
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;******************************************************************************
.global _MSI2C_InitConnectionAbb
.global _MSI2C_MasterPollingReceiveAbb
.global _MSI2C_MasterPollingSendAbb
.global _MSI2C_AccessPage
;******************************************************************************
;* TYPE INFORMATION *
;******************************************************************************
DW$T$19 .dwtag DW_TAG_subroutine_type
.dwattr DW$T$19, DW_AT_language(DW_LANG_C)
DW$T$22 .dwtag DW_TAG_subroutine_type
.dwattr DW$T$22, DW_AT_language(DW_LANG_C)
DW$35 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$21)
DW$36 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$21)
.dwendtag DW$T$22
DW$T$25 .dwtag DW_TAG_subroutine_type
.dwattr DW$T$25, DW_AT_language(DW_LANG_C)
DW$37 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$24)
.dwendtag DW$T$25
DW$T$27 .dwtag DW_TAG_subroutine_type
.dwattr DW$T$27, DW_AT_language(DW_LANG_C)
DW$38 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$21)
.dwendtag DW$T$27
DW$T$21 .dwtag DW_TAG_typedef, DW_AT_name("UWORD8"), DW_AT_type(*DW$T$6)
.dwattr DW$T$21, DW_AT_language(DW_LANG_C)
DW$T$24 .dwtag DW_TAG_const_type
.dwattr DW$T$24, DW_AT_type(*DW$T$21)
DW$T$29 .dwtag DW_TAG_subroutine_type, DW_AT_type(*DW$T$21)
.dwattr DW$T$29, DW_AT_language(DW_LANG_C)
DW$39 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$21)
.dwendtag DW$T$29
DW$T$10 .dwtag DW_TAG_base_type, DW_AT_name("int")
.dwattr DW$T$10, DW_AT_encoding(DW_ATE_signed)
.dwattr DW$T$10, DW_AT_byte_size(0x04)
DW$T$6 .dwtag DW_TAG_base_type, DW_AT_name("unsigned char")
.dwattr DW$T$6, DW_AT_encoding(DW_ATE_unsigned_char)
.dwattr DW$T$6, DW_AT_byte_size(0x01)
.dwattr DW$24, DW_AT_external(0x01)
.dwattr DW$16, DW_AT_external(0x01)
.dwattr DW$26, DW_AT_external(0x01)
.dwattr DW$18, DW_AT_external(0x01)
.dwattr DW$10, DW_AT_external(0x01)
.dwattr DW$29, DW_AT_external(0x01)
.dwattr DW$20, DW_AT_external(0x01)
.dwattr DW$12, DW_AT_external(0x01)
.dwattr DW$32, DW_AT_external(0x01)
.dwattr DW$22, DW_AT_external(0x01)
.dwattr DW$14, DW_AT_external(0x01)
.dwattr DW$9, DW_AT_external(0x01)
.dwattr DW$CU, DW_AT_language(DW_LANG_C)
;***************************************************************
;* DWARF CIE ENTRIES *
;***************************************************************
DW$CIE .dwcie 1, 26
.dwcfa 0x0c, 13, 0
.dwcfa 0x07, 0
.dwcfa 0x07, 1
.dwcfa 0x07, 2
.dwcfa 0x07, 3
.dwcfa 0x08, 4
.dwcfa 0x08, 5
.dwcfa 0x08, 6
.dwcfa 0x08, 7
.dwcfa 0x08, 8
.dwcfa 0x08, 9
.dwcfa 0x08, 10
.dwcfa 0x08, 11
.dwcfa 0x07, 12
.dwcfa 0x07, 13
.dwcfa 0x07, 14
.dwcfa 0x07, 15
.dwcfa 0x07, 16
.dwcfa 0x07, 17
.dwcfa 0x07, 18
.dwcfa 0x07, 19
.dwcfa 0x07, 20
.dwcfa 0x07, 21
.dwcfa 0x07, 22
.dwcfa 0x07, 23
.dwcfa 0x07, 24
.dwcfa 0x07, 25
.dwcfa 0x07, 26
;***************************************************************
;* DWARF REGISTER MAP *
;***************************************************************
DW$40 .dwtag DW_TAG_assign_register, DW_AT_name("A1")
.dwattr DW$40, DW_AT_location[DW_OP_reg0]
DW$41 .dwtag DW_TAG_assign_register, DW_AT_name("A2")
.dwattr DW$41, DW_AT_location[DW_OP_reg1]
DW$42 .dwtag DW_TAG_assign_register, DW_AT_name("A3")
.dwattr DW$42, DW_AT_location[DW_OP_reg2]
DW$43 .dwtag DW_TAG_assign_register, DW_AT_name("A4")
.dwattr DW$43, DW_AT_location[DW_OP_reg3]
DW$44 .dwtag DW_TAG_assign_register, DW_AT_name("V1")
.dwattr DW$44, DW_AT_location[DW_OP_reg4]
DW$45 .dwtag DW_TAG_assign_register, DW_AT_name("V2")
.dwattr DW$45, DW_AT_location[DW_OP_reg5]
DW$46 .dwtag DW_TAG_assign_register, DW_AT_name("V3")
.dwattr DW$46, DW_AT_location[DW_OP_reg6]
DW$47 .dwtag DW_TAG_assign_register, DW_AT_name("V4")
.dwattr DW$47, DW_AT_location[DW_OP_reg7]
DW$48 .dwtag DW_TAG_assign_register, DW_AT_name("V5")
.dwattr DW$48, DW_AT_location[DW_OP_reg8]
DW$49 .dwtag DW_TAG_assign_register, DW_AT_name("V6")
.dwattr DW$49, DW_AT_location[DW_OP_reg9]
DW$50 .dwtag DW_TAG_assign_register, DW_AT_name("V7")
.dwattr DW$50, DW_AT_location[DW_OP_reg10]
DW$51 .dwtag DW_TAG_assign_register, DW_AT_name("V8")
.dwattr DW$51, DW_AT_location[DW_OP_reg11]
DW$52 .dwtag DW_TAG_assign_register, DW_AT_name("V9")
.dwattr DW$52, DW_AT_location[DW_OP_reg12]
DW$53 .dwtag DW_TAG_assign_register, DW_AT_name("SP")
.dwattr DW$53, DW_AT_location[DW_OP_reg13]
DW$54 .dwtag DW_TAG_assign_register, DW_AT_name("LR")
.dwattr DW$54, DW_AT_location[DW_OP_reg14]
DW$55 .dwtag DW_TAG_assign_register, DW_AT_name("PC")
.dwattr DW$55, DW_AT_location[DW_OP_reg15]
DW$56 .dwtag DW_TAG_assign_register, DW_AT_name("C0")
.dwattr DW$56, DW_AT_location[DW_OP_reg16]
DW$57 .dwtag DW_TAG_assign_register, DW_AT_name("C1")
.dwattr DW$57, DW_AT_location[DW_OP_reg17]
DW$58 .dwtag DW_TAG_assign_register, DW_AT_name("C2")
.dwattr DW$58, DW_AT_location[DW_OP_reg18]
DW$59 .dwtag DW_TAG_assign_register, DW_AT_name("C3")
.dwattr DW$59, DW_AT_location[DW_OP_reg19]
DW$60 .dwtag DW_TAG_assign_register, DW_AT_name("C4")
.dwattr DW$60, DW_AT_location[DW_OP_reg20]
DW$61 .dwtag DW_TAG_assign_register, DW_AT_name("C5")
.dwattr DW$61, DW_AT_location[DW_OP_reg21]
DW$62 .dwtag DW_TAG_assign_register, DW_AT_name("C6")
.dwattr DW$62, DW_AT_location[DW_OP_reg22]
DW$63 .dwtag DW_TAG_assign_register, DW_AT_name("C7")
.dwattr DW$63, DW_AT_location[DW_OP_reg23]
DW$64 .dwtag DW_TAG_assign_register, DW_AT_name("AP")
.dwattr DW$64, DW_AT_location[DW_OP_reg24]
DW$65 .dwtag DW_TAG_assign_register, DW_AT_name("SR")
.dwattr DW$65, DW_AT_location[DW_OP_reg25]
DW$66 .dwtag DW_TAG_assign_register, DW_AT_name("CIE_RETA")
.dwattr DW$66, DW_AT_location[DW_OP_reg26]
.dwendtag DW$CU
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?