📄 dm642init.asm
字号:
;* 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,B11,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:
;** --------------------------------------------------------------------------*
STW .D2T1 A11,*SP--(48) ; |64|
|| MV .L1X SP,A31 ; |64|
MV .L2 B3,B11 ; |64|
|| STW .D1T1 A10,*-A31(12) ; |64|
|| STDW .D2T2 B11:B10,*+SP(40) ; |64|
$C$DW$25 .dwtag DW_TAG_formal_parameter, DW_AT_name("pMacAddr")
.dwattr $C$DW$25, DW_AT_TI_symbol_name("_pMacAddr")
.dwattr $C$DW$25, DW_AT_type(*$C$DW$T$28)
.dwattr $C$DW$25, DW_AT_location[DW_OP_reg4]
$C$DW$26 .dwtag DW_TAG_formal_parameter, DW_AT_name("pIntVector")
.dwattr $C$DW$26, DW_AT_TI_symbol_name("_pIntVector")
.dwattr $C$DW$26, DW_AT_type(*$C$DW$T$29)
.dwattr $C$DW$26, DW_AT_location[DW_OP_reg20]
MVKL .S1 _bMacAddr,A3
MVKH .S1 _bMacAddr,A3
MV .L1 A3,A11 ; |65|
LDBU .D1T2 *A11,B5 ; |65|
LDBU .D1T1 *+A11(1),A8 ; |65|
LDBU .D1T1 *+A11(2),A7 ; |65|
LDBU .D1T1 *+A11(3),A6 ; |65|
|| MVKL .S1 $C$SL7+0,A5 ; |65|
LDBU .D1T1 *+A11(4),A4 ; |65|
|| MVKL .S2 _printf,B4 ; |65|
|| MVKH .S1 $C$SL7+0,A5 ; |65|
|| MV .L1 A4,A10 ; |64|
|| MV .L2 B4,B10 ; |64|
STW .D2T1 A5,*+SP(4) ; |65|
|| MVKH .S2 _printf,B4 ; |65|
CALL .S2 B4 ; |65|
|| STW .D2T2 B5,*+SP(8) ; |65|
|| LDBU .D1T1 *+A11(5),A3 ; |65|
STW .D2T1 A8,*+SP(12) ; |65|
STW .D2T1 A7,*+SP(16) ; |65|
STW .D2T1 A6,*+SP(20) ; |65|
STW .D2T1 A4,*+SP(24) ; |65|
ADDKPC .S2 $C$RL4,B3,0 ; |65|
|| STW .D2T1 A3,*+SP(28) ; |65|
$C$RL4: ; CALL OCCURS {_printf} ; |65|
;** --------------------------------------------------------------------------*
MVKL .S2 _mmCopy,B5 ; |70|
MVKH .S2 _mmCopy,B5 ; |70|
CALL .S2 B5 ; |70|
ADDKPC .S2 $C$RL5,B3,3 ; |70|
MV .L1 A10,A4 ; |70|
|| MV .L2X A11,B4 ; |70|
|| MVK .S1 0x6,A6 ; |70|
$C$RL5: ; CALL OCCURS {_mmCopy} ; |70|
;** --------------------------------------------------------------------------*
MVK .L2 15,B4 ; |71|
MV .L2 B11,B3 ; |72|
|| STW .D2T2 B4,*B10 ; |71|
|| MV .L1X SP,A31 ; |72|
RET .S2 B3 ; |72|
|| LDW .D1T1 *+A31(36),A10 ; |72|
|| LDDW .D2T2 *+SP(40),B11:B10 ; |72|
LDW .D2T1 *++SP(48),A11 ; |72|
.dwpsn file "dm642init.c",line 72,column 1,is_stmt
NOP 4
; BRANCH OCCURS {B3} ; |72|
.dwattr $C$DW$24, DW_AT_TI_end_file("dm642init.c")
.dwattr $C$DW$24, DW_AT_TI_end_line(0x48)
.dwattr $C$DW$24, DW_AT_TI_end_column(0x01)
.dwendtag $C$DW$24
;******************************************************************************
;* STRINGS *
;******************************************************************************
.sect ".const"
$C$SL1: .string "No Link",0
$C$SL2: .string "10Mb/s Half Duplex",0
$C$SL3: .string "10Mb/s Full Duplex",0
$C$SL4: .string "100Mb/s Half Duplex",0
$C$SL5: .string "100Mb/s Full Duplex",0
$C$SL6: .string "Link Status: %s",10,0
$C$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 *
;******************************************************************************
$C$DW$T$3 .dwtag DW_TAG_pointer_type
.dwattr $C$DW$T$3, DW_AT_address_class(0x20)
$C$DW$T$21 .dwtag DW_TAG_subroutine_type
.dwattr $C$DW$T$21, DW_AT_language(DW_LANG_C)
$C$DW$27 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$3)
$C$DW$28 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$3)
$C$DW$29 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$20)
.dwendtag $C$DW$T$21
$C$DW$T$24 .dwtag DW_TAG_subroutine_type
.dwattr $C$DW$T$24, DW_AT_language(DW_LANG_C)
$C$DW$30 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$23)
.dwendtag $C$DW$T$24
$C$DW$T$25 .dwtag DW_TAG_subroutine_type
.dwattr $C$DW$T$25, DW_AT_language(DW_LANG_C)
$C$DW$T$30 .dwtag DW_TAG_subroutine_type
.dwattr $C$DW$T$30, DW_AT_language(DW_LANG_C)
$C$DW$31 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$28)
$C$DW$32 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$29)
.dwendtag $C$DW$T$30
$C$DW$T$31 .dwtag DW_TAG_subroutine_type
.dwattr $C$DW$T$31, DW_AT_language(DW_LANG_C)
$C$DW$33 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$20)
$C$DW$34 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$20)
.dwendtag $C$DW$T$31
$C$DW$T$4 .dwtag DW_TAG_base_type, DW_AT_name("bool")
.dwattr $C$DW$T$4, DW_AT_encoding(DW_ATE_boolean)
.dwattr $C$DW$T$4, DW_AT_byte_size(0x01)
$C$DW$T$5 .dwtag DW_TAG_base_type, DW_AT_name("signed char")
.dwattr $C$DW$T$5, DW_AT_encoding(DW_ATE_signed_char)
.dwattr $C$DW$T$5, DW_AT_byte_size(0x01)
$C$DW$T$6 .dwtag DW_TAG_base_type, DW_AT_name("unsigned char")
.dwattr $C$DW$T$6, DW_AT_encoding(DW_ATE_unsigned_char)
.dwattr $C$DW$T$6, DW_AT_byte_size(0x01)
$C$DW$T$27 .dwtag DW_TAG_typedef, DW_AT_name("UINT8")
.dwattr $C$DW$T$27, DW_AT_type(*$C$DW$T$6)
.dwattr $C$DW$T$27, DW_AT_language(DW_LANG_C)
$C$DW$T$28 .dwtag DW_TAG_pointer_type, DW_AT_type(*$C$DW$T$27)
.dwattr $C$DW$T$28, DW_AT_address_class(0x20)
$C$DW$T$42 .dwtag DW_TAG_array_type, DW_AT_type(*$C$DW$T$27)
.dwattr $C$DW$T$42, DW_AT_language(DW_LANG_C)
.dwattr $C$DW$T$42, DW_AT_byte_size(0x08)
$C$DW$35 .dwtag DW_TAG_subrange_type
.dwattr $C$DW$35, DW_AT_upper_bound(0x07)
.dwendtag $C$DW$T$42
$C$DW$T$7 .dwtag DW_TAG_base_type, DW_AT_name("wchar_t")
.dwattr $C$DW$T$7, DW_AT_encoding(DW_ATE_signed_char)
.dwattr $C$DW$T$7, DW_AT_byte_size(0x02)
$C$DW$T$8 .dwtag DW_TAG_base_type, DW_AT_name("short")
.dwattr $C$DW$T$8, DW_AT_encoding(DW_ATE_signed)
.dwattr $C$DW$T$8, DW_AT_byte_size(0x02)
$C$DW$T$9 .dwtag DW_TAG_base_type, DW_AT_name("unsigned short")
.dwattr $C$DW$T$9, DW_AT_encoding(DW_ATE_unsigned)
.dwattr $C$DW$T$9, DW_AT_byte_size(0x02)
$C$DW$T$47 .dwtag DW_TAG_typedef, DW_AT_name("Uint16")
.dwattr $C$DW$T$47, DW_AT_type(*$C$DW$T$9)
.dwattr $C$DW$T$47, DW_AT_language(DW_LANG_C)
$C$DW$T$10 .dwtag DW_TAG_base_type, DW_AT_name("int")
.dwattr $C$DW$T$10, DW_AT_encoding(DW_ATE_signed)
.dwattr $C$DW$T$10, DW_AT_byte_size(0x04)
$C$DW$T$51 .dwtag DW_TAG_subroutine_type, DW_AT_type(*$C$DW$T$10)
.dwattr $C$DW$T$51, DW_AT_language(DW_LANG_C)
$C$DW$36 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$50)
$C$DW$37 .dwtag DW_TAG_unspecified_parameters
.dwendtag $C$DW$T$51
$C$DW$T$11 .dwtag DW_TAG_base_type, DW_AT_name("unsigned int")
.dwattr $C$DW$T$11, DW_AT_encoding(DW_ATE_unsigned)
.dwattr $C$DW$T$11, DW_AT_byte_size(0x04)
$C$DW$T$20 .dwtag DW_TAG_typedef, DW_AT_name("uint")
.dwattr $C$DW$T$20, DW_AT_type(*$C$DW$T$11)
.dwattr $C$DW$T$20, DW_AT_language(DW_LANG_C)
$C$DW$T$29 .dwtag DW_TAG_pointer_type, DW_AT_type(*$C$DW$T$20)
.dwattr $C$DW$T$29, DW_AT_address_class(0x20)
$C$DW$T$56 .dwtag DW_TAG_subroutine_type, DW_AT_type(*$C$DW$T$20)
.dwattr $C$DW$T$56, DW_AT_language(DW_LANG_C)
$C$DW$38 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$20)
$C$DW$39 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$20)
$C$DW$40 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$47)
.dwendtag $C$DW$T$56
$C$DW$T$23 .dwtag DW_TAG_typedef, DW_AT_name("Uint32")
.dwattr $C$DW$T$23, DW_AT_type(*$C$DW$T$11)
.dwattr $C$DW$T$23, DW_AT_language(DW_LANG_C)
$C$DW$T$12 .dwtag DW_TAG_base_type, DW_AT_name("long")
.dwattr $C$DW$T$12, DW_AT_encoding(DW_ATE_signed)
.dwattr $C$DW$T$12, DW_AT_byte_size(0x08)
.dwattr $C$DW$T$12, DW_AT_bit_size(0x28)
.dwattr $C$DW$T$12, DW_AT_bit_offset(0x18)
$C$DW$T$13 .dwtag DW_TAG_base_type, DW_AT_name("unsigned long")
.dwattr $C$DW$T$13, DW_AT_encoding(DW_ATE_unsigned)
.dwattr $C$DW$T$13, DW_AT_byte_size(0x08)
.dwattr $C$DW$T$13, DW_AT_bit_size(0x28)
.dwattr $C$DW$T$13, DW_AT_bit_offset(0x18)
$C$DW$T$14 .dwtag DW_TAG_base_type, DW_AT_name("long long")
.dwattr $C$DW$T$14, DW_AT_encoding(DW_ATE_signed)
.dwattr $C$DW$T$14, DW_AT_byte_size(0x08)
$C$DW$T$15 .dwtag DW_TAG_base_type, DW_AT_name("unsigned long long")
.dwattr $C$DW$T$15, DW_AT_encoding(DW_ATE_unsigned)
.dwattr $C$DW$T$15, DW_AT_byte_size(0x08)
$C$DW$T$16 .dwtag DW_TAG_base_type, DW_AT_name("float")
.dwattr $C$DW$T$16, DW_AT_encoding(DW_ATE_float)
.dwattr $C$DW$T$16, DW_AT_byte_size(0x04)
$C$DW$T$17 .dwtag DW_TAG_base_type, DW_AT_name("double")
.dwattr $C$DW$T$17, DW_AT_encoding(DW_ATE_float)
.dwattr $C$DW$T$17, DW_AT_byte_size(0x08)
$C$DW$T$18 .dwtag DW_TAG_base_type, DW_AT_name("long double")
.dwattr $C$DW$T$18, DW_AT_encoding(DW_ATE_float)
.dwattr $C$DW$T$18, DW_AT_byte_size(0x08)
$C$DW$T$48 .dwtag DW_TAG_base_type, DW_AT_name("signed char")
.dwattr $C$DW$T$48, DW_AT_encoding(DW_ATE_signed_char)
.dwattr $C$DW$T$48, DW_AT_byte_size(0x01)
$C$DW$T$49 .dwtag DW_TAG_const_type
.dwattr $C$DW$T$49, DW_AT_type(*$C$DW$T$48)
$C$DW$T$50 .dwtag DW_TAG_pointer_type, DW_AT_type(*$C$DW$T$49)
.dwattr $C$DW$T$50, DW_AT_address_class(0x20)
$C$DW$T$63 .dwtag DW_TAG_pointer_type, DW_AT_type(*$C$DW$T$48)
.dwattr $C$DW$T$63, DW_AT_address_class(0x20)
$C$DW$T$64 .dwtag DW_TAG_array_type, DW_AT_type(*$C$DW$T$63)
.dwattr $C$DW$T$64, DW_AT_language(DW_LANG_C)
.dwattr $C$DW$T$64, DW_AT_byte_size(0x14)
$C$DW$41 .dwtag DW_TAG_subrange_type
.dwattr $C$DW$41, DW_AT_upper_bound(0x04)
.dwendtag $C$DW$T$64
.dwattr $C$DW$CU, DW_AT_language(DW_LANG_C)
;***************************************************************
;* DWARF REGISTER MAP *
;***************************************************************
$C$DW$42 .dwtag DW_TAG_TI_assign_register, DW_AT_name("A0")
.dwattr $C$DW$42, DW_AT_location[DW_OP_reg0]
$C$DW$43 .dwtag DW_TAG_TI_assign_register, DW_AT_name("A1")
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -