📄 dm642init.asm
字号:
.dwpsn "dm642init.c",88,1
NOP 4
; BRANCH OCCURS {B3} ; |88|
.dwattr DW$21, DW_AT_end_file("dm642init.c")
.dwattr DW$21, DW_AT_end_line(0x58)
.dwattr DW$21, DW_AT_end_column(0x01)
.dwendtag DW$21
.sect ".text"
.global _DM642EMAC_getConfig
DW$24 .dwtag DW_TAG_subprogram, DW_AT_name("DM642EMAC_getConfig"), DW_AT_symbol_name("_DM642EMAC_getConfig")
.dwattr DW$24, DW_AT_low_pc(_DM642EMAC_getConfig)
.dwattr DW$24, DW_AT_high_pc(0x00)
.dwattr DW$24, DW_AT_begin_file("dm642init.c")
.dwattr DW$24, DW_AT_begin_line(0x3f)
.dwattr DW$24, DW_AT_begin_column(0x06)
.dwattr DW$24, DW_AT_frame_base[DW_OP_breg31 48]
.dwattr DW$24, DW_AT_skeletal(0x01)
.dwpsn "dm642init.c",64,1
;******************************************************************************
;* FUNCTION NAME: _DM642EMAC_getConfig *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,B0,B1,B2,B3,B4,*
;* B5,B6,B7,B8,B9,B10,B13,SP,A16,A17,A18,A19,A20, *
;* A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31,B16, *
;* B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27,B28, *
;* B29,B30,B31 *
;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,B0,B1,B2,B3,B4,*
;* B5,B6,B7,B8,B9,B10,B13,SP,A16,A17,A18,A19,A20, *
;* A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31,B16, *
;* B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27,B28, *
;* B29,B30,B31 *
;* Local Frame Size : 32 Args + 0 Auto + 16 Save = 48 byte *
;******************************************************************************
_DM642EMAC_getConfig:
;** --------------------------------------------------------------------------*
DW$25 .dwtag DW_TAG_formal_parameter, DW_AT_name("pMacAddr"), DW_AT_symbol_name("_pMacAddr")
.dwattr DW$25, DW_AT_type(*DW$T$28)
.dwattr DW$25, DW_AT_location[DW_OP_reg4]
DW$26 .dwtag DW_TAG_formal_parameter, DW_AT_name("pIntVector"), DW_AT_symbol_name("_pIntVector")
.dwattr DW$26, DW_AT_type(*DW$T$29)
.dwattr DW$26, DW_AT_location[DW_OP_reg20]
STW .D2T2 B10,*SP--(48) ; |64|
MVKL .S1 _bMacAddr,A10 ; |65|
|| STDW .D2T1 A11:A10,*+SP(40) ; |64|
MVKH .S1 _bMacAddr,A10 ; |65|
LDBU .D1T2 *A10,B5 ; |65|
|| MVKL .S1 SL7+0,A3 ; |65|
MVKH .S1 SL7+0,A3 ; |65|
STW .D2T1 A3,*+SP(4) ; |65|
LDBU .D1T1 *+A10(1),A8 ; |65|
LDBU .D1T1 *+A10(2),A7 ; |65|
LDBU .D1T1 *+A10(3),A6 ; |65|
|| MVKL .S2 _printf,B5 ; |65|
|| STW .D2T2 B5,*+SP(8) ; |65|
LDBU .D1T1 *+A10(4),A5 ; |65|
|| MVKH .S2 _printf,B5 ; |65|
CALL .S2 B5 ; |65|
|| LDBU .D1T1 *+A10(5),A3 ; |65|
|| STW .D2T2 B13,*+SP(36) ; |64|
STW .D2T1 A8,*+SP(12) ; |65|
STW .D2T1 A7,*+SP(16) ; |65|
STW .D2T1 A6,*+SP(20) ; |65|
STW .D2T1 A5,*+SP(24) ; |65|
|| MV .L2 B4,B10 ; |64|
ADDKPC .S2 RL4,B3,0 ; |65|
|| STW .D2T1 A3,*+SP(28) ; |65|
|| MV .L1 A4,A11 ; |64|
|| MV .L2 B3,B13 ; |64|
RL4: ; CALL OCCURS {_printf} ; |65|
;** --------------------------------------------------------------------------*
MVKL .S2 _mmCopy,B5 ; |70|
MVKH .S2 _mmCopy,B5 ; |70|
CALL .S2 B5 ; |70|
ADDKPC .S2 RL5,B3,1 ; |70|
MVK .L1 0x6,A6 ; |70|
MV .L2X A10,B4 ; |70|
MV .S1 A11,A4 ; |70|
RL5: ; CALL OCCURS {_mmCopy} ; |70|
;** --------------------------------------------------------------------------*
LDDW .D2T1 *+SP(40),A11:A10 ; |72|
LDW .D2T2 *+SP(36),B13 ; |72|
|| MVK .L2 15,B4 ; |71|
|| MV .S2 B13,B3 ; |72|
RET .S2 B3 ; |72|
|| STW .D2T2 B4,*B10 ; |71|
LDW .D2T2 *++SP(48),B10 ; |72|
.dwpsn "dm642init.c",72,1
NOP 4
; BRANCH OCCURS {B3} ; |72|
.dwattr DW$24, DW_AT_end_file("dm642init.c")
.dwattr DW$24, DW_AT_end_line(0x48)
.dwattr DW$24, DW_AT_end_column(0x01)
.dwendtag DW$24
;******************************************************************************
;* STRINGS *
;******************************************************************************
.sect ".const"
SL1: .string "No Link",0
SL2: .string "10Mb/s Half Duplex",0
SL3: .string "10Mb/s Full Duplex",0
SL4: .string "100Mb/s Half Duplex",0
SL5: .string "100Mb/s Full Duplex",0
SL6: .string "Link Status: %s",10,0
SL7: .string "Using MAC Address: %02x-%02x-%02x-%02x-%02x-%02x",10,0
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;******************************************************************************
.global _printf
.global _mmCopy
.global _EVMDM642_init
.global _EVMDM642_LED_init
.global _MDIO_phyRegWrite
;******************************************************************************
;* TYPE INFORMATION *
;******************************************************************************
DW$T$3 .dwtag DW_TAG_pointer_type
.dwattr DW$T$3, DW_AT_address_class(0x20)
DW$T$21 .dwtag DW_TAG_subroutine_type
.dwattr DW$T$21, DW_AT_language(DW_LANG_C)
DW$27 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$3)
DW$28 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$3)
DW$29 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$20)
.dwendtag DW$T$21
DW$T$24 .dwtag DW_TAG_subroutine_type
.dwattr DW$T$24, DW_AT_language(DW_LANG_C)
DW$30 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$23)
.dwendtag DW$T$24
DW$T$25 .dwtag DW_TAG_subroutine_type
.dwattr DW$T$25, DW_AT_language(DW_LANG_C)
DW$T$30 .dwtag DW_TAG_subroutine_type
.dwattr DW$T$30, DW_AT_language(DW_LANG_C)
DW$31 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$28)
DW$32 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$29)
.dwendtag DW$T$30
DW$T$31 .dwtag DW_TAG_subroutine_type
.dwattr DW$T$31, DW_AT_language(DW_LANG_C)
DW$33 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$20)
DW$34 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$20)
.dwendtag DW$T$31
DW$T$28 .dwtag DW_TAG_pointer_type, DW_AT_type(*DW$T$27)
.dwattr DW$T$28, DW_AT_address_class(0x20)
DW$T$42 .dwtag DW_TAG_array_type, DW_AT_type(*DW$T$27)
.dwattr DW$T$42, DW_AT_language(DW_LANG_C)
.dwattr DW$T$42, DW_AT_byte_size(0x08)
DW$35 .dwtag DW_TAG_subrange_type
.dwattr DW$35, DW_AT_upper_bound(0x07)
.dwendtag DW$T$42
DW$T$47 .dwtag DW_TAG_typedef, DW_AT_name("Uint16"), DW_AT_type(*DW$T$9)
.dwattr DW$T$47, DW_AT_language(DW_LANG_C)
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$51 .dwtag DW_TAG_subroutine_type, DW_AT_type(*DW$T$10)
.dwattr DW$T$51, DW_AT_language(DW_LANG_C)
DW$36 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$50)
DW$37 .dwtag DW_TAG_unspecified_parameters
.dwendtag DW$T$51
DW$T$20 .dwtag DW_TAG_typedef, DW_AT_name("uint"), DW_AT_type(*DW$T$11)
.dwattr DW$T$20, DW_AT_language(DW_LANG_C)
DW$T$29 .dwtag DW_TAG_pointer_type, DW_AT_type(*DW$T$20)
.dwattr DW$T$29, DW_AT_address_class(0x20)
DW$T$56 .dwtag DW_TAG_subroutine_type, DW_AT_type(*DW$T$20)
.dwattr DW$T$56, DW_AT_language(DW_LANG_C)
DW$38 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$20)
DW$39 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$20)
DW$40 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$47)
.dwendtag DW$T$56
DW$T$23 .dwtag DW_TAG_typedef, DW_AT_name("Uint32"), DW_AT_type(*DW$T$11)
.dwattr DW$T$23, DW_AT_language(DW_LANG_C)
DW$T$50 .dwtag DW_TAG_pointer_type, DW_AT_type(*DW$T$49)
.dwattr DW$T$50, DW_AT_address_class(0x20)
DW$T$64 .dwtag DW_TAG_array_type, DW_AT_type(*DW$T$63)
.dwattr DW$T$64, DW_AT_language(DW_LANG_C)
.dwattr DW$T$64, DW_AT_byte_size(0x14)
DW$41 .dwtag DW_TAG_subrange_type
.dwattr DW$41, DW_AT_upper_bound(0x04)
.dwendtag DW$T$64
DW$T$27 .dwtag DW_TAG_typedef, DW_AT_name("UINT8"), DW_AT_type(*DW$T$6)
.dwattr DW$T$27, DW_AT_language(DW_LANG_C)
DW$T$9 .dwtag DW_TAG_base_type, DW_AT_name("unsigned short")
.dwattr DW$T$9, DW_AT_encoding(DW_ATE_unsigned)
.dwattr DW$T$9, DW_AT_byte_size(0x02)
DW$T$11 .dwtag DW_TAG_base_type, DW_AT_name("unsigned int")
.dwattr DW$T$11, DW_AT_encoding(DW_ATE_unsigned)
.dwattr DW$T$11, DW_AT_byte_size(0x04)
DW$T$49 .dwtag DW_TAG_const_type
.dwattr DW$T$49, DW_AT_type(*DW$T$48)
DW$T$63 .dwtag DW_TAG_pointer_type, DW_AT_type(*DW$T$48)
.dwattr DW$T$63, DW_AT_address_class(0x20)
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)
DW$T$48 .dwtag DW_TAG_base_type, DW_AT_name("signed char")
.dwattr DW$T$48, DW_AT_encoding(DW_ATE_signed_char)
.dwattr DW$T$48, DW_AT_byte_size(0x01)
.dwattr DW$24, DW_AT_external(0x01)
.dwattr DW$21, DW_AT_external(0x01)
.dwattr DW$16, DW_AT_external(0x01)
.dwattr DW$CU, DW_AT_language(DW_LANG_C)
;***************************************************************
;* DWARF REGISTER MAP *
;***************************************************************
DW$42 .dwtag DW_TAG_assign_register, DW_AT_name("A0")
.dwattr DW$42, DW_AT_location[DW_OP_reg0]
DW$43 .dwtag DW_TAG_assign_register, DW_AT_name("A1")
.dwattr DW$43, DW_AT_location[DW_OP_reg1]
DW$44 .dwtag DW_TAG_assign_register, DW_AT_name("A2")
.dwattr DW$44, DW_AT_location[DW_OP_reg2]
DW$45 .dwtag DW_TAG_assign_register, DW_AT_name("A3")
.dwattr DW$45, DW_AT_location[DW_OP_reg3]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -