📄 dm642init.asm
字号:
;* Bound(.L .S .LS) 1 0
;* Bound(.L .S .D .LS .LSD) 1 1
;*
;* Searching for software pipeline schedule at ...
;* ii = 2 Schedule found with 6 iterations in parallel
;*
;* Register Usage Table:
;* +-----------------------------------------------------------------+
;* |AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA|BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB|
;* |00000000001111111111222222222233|00000000001111111111222222222233|
;* |01234567890123456789012345678901|01234567890123456789012345678901|
;* |--------------------------------+--------------------------------|
;* 0: |* | ** |
;* 1: |* |* ** |
;* +-----------------------------------------------------------------+
;*
;* Done
;*
;* Collapsed epilog stages : 5
;* Prolog not removed
;* Collapsed prolog stages : 0
;*
;* Minimum required memory pad : 5 bytes
;* Minimum threshold value : -mh14
;*
;* Minimum safe trip count : 1
;*----------------------------------------------------------------------------*
;* SETUP CODE
;*
;* MVK 0x1,A0
;*
;* SINGLE SCHEDULED ITERATION
;*
;* C34:
;* 0 LDB .D2T2 *++B5,B0 ; |186| ^
;* 1 NOP 4
;* 5 [ A0] STB .D2T2 B0,*++B4 ; |186| ^
;* || [!B0] ZERO .D1 A0 ; ^
;* 6 [ A0] B .S1 C34 ; |186|
;* 7 NOP 5
;* ; BRANCH OCCURS ; |186|
;*----------------------------------------------------------------------------*
L12: ; PIPED LOOP PROLOG
LDB .D2T2 *++B5,B0 ; |186| (P) <1,0> ^
NOP 1
MVK .D1 0x1,A0
|| LDB .D2T2 *++B5,B0 ; |186| (P) <2,0> ^
[!B0] ZERO .D1 A0 ; (P) <0,5> ^
|| [ A0] STB .D2T2 B0,*++B4 ; |186| (P) <0,5> ^
LDB .D2T2 *++B5,B0 ; |186| (P) <3,0> ^
|| [ A0] B .S1 L13 ; |186| (P) <0,6>
[!B0] ZERO .D1 A0 ; (P) <1,5> ^
|| [ A0] STB .D2T2 B0,*++B4 ; |186| (P) <1,5> ^
[ A0] B .S1 L13 ; |186| (P) <1,6>
|| LDB .D2T2 *++B5,B0 ; |186| (P) <4,0> ^
[!B0] ZERO .D1 A0 ; (P) <2,5> ^
|| [ A0] STB .D2T2 B0,*++B4 ; |186| (P) <2,5> ^
;** --------------------------------------------------------------------------*
L13: ; PIPED LOOP KERNEL
[ A0] B .S1 L13 ; |186| <2,6>
|| LDB .D2T2 *++B5,B0 ; |186| <5,0> ^
[!B0] ZERO .D1 A0 ; <3,5> ^
|| [ A0] STB .D2T2 B0,*++B4 ; |186| <3,5> ^
;** --------------------------------------------------------------------------*
L14: ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
NOP 2
MVC .S2 B7,CSR ; interrupts on
MV .D2 B13,B3 ; |68|
;** --------------------------------------------------------------------------*
L15:
RET .S2 B3 ; |68|
|| LDW .D2T2 *+SP(12),B13 ; |68|
LDW .D2T1 *++SP(16),A10 ; |68|
NOP 4
; BRANCH OCCURS ; |68|
.sect ".text"
.global _DM642EMAC_linkStatus
;******************************************************************************
;* FUNCTION NAME: _DM642EMAC_linkStatus *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,B0,B1,B2,B3,B4,B5, *
;* B6,B7,B8,B9,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,B0,B1,B2,B3,B4,B5, *
;* B6,B7,B8,B9,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 : 8 Args + 0 Auto + 8 Save = 16 byte *
;******************************************************************************
_DM642EMAC_linkStatus:
;** --------------------------------------------------------------------------*
MVKL .S2 _printf,B4 ; |97|
|| MVKL .S1 _LinkStr,A3 ; |97|
|| MV .D1X B4,A5 ; |96|
MVKH .S2 _printf,B4 ; |97|
|| MVKH .S1 _LinkStr,A3 ; |97|
CALL .S2 B4 ; |97|
|| LDW .D1T1 *+A3[A5],A3 ; |97|
STW .D2T1 A10,*SP--(16) ; |96|
MVKL .S2 SL8+0,B5 ; |97|
STW .D2T2 B13,*+SP(12) ; |96|
|| MVKH .S2 SL8+0,B5 ; |97|
STW .D2T2 B5,*+SP(4) ; |97|
ADDKPC .S2 RL5,B3,0 ; |97|
|| STW .D2T1 A3,*+SP(8) ; |97|
|| MV .L2 B3,B13 ; |96|
|| MV .D1 A4,A10 ; |96|
RL5: ; CALL OCCURS ; |97|
MVKL .S2 _MDIO_phyRegWrite,B5 ; |101|
MVKH .S2 _MDIO_phyRegWrite,B5 ; |101|
CALL .S2 B5 ; |101|
MVK .S2 0x14,B4 ; |101|
MVKL .S1 0xd5d0,A6 ; |101|
ADDKPC .S2 RL6,B3,0 ; |101|
MV .D1 A10,A4 ; |101|
MVKH .S1 0xd5d0,A6 ; |101|
RL6: ; CALL OCCURS ; |101|
MV .D2 B13,B3 ; |102|
RET .S2 B3 ; |102|
|| LDW .D2T2 *+SP(12),B13 ; |102|
LDW .D2T1 *++SP(16),A10 ; |102|
NOP 4
; BRANCH OCCURS ; |102|
.sect ".text"
.global _DM642EMAC_getConfig
;******************************************************************************
;* 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:
;** --------------------------------------------------------------------------*
STW .D2T2 B10,*SP--(48) ; |78|
MVKL .S1 _bMacAddr,A10 ; |79|
|| STDW .D2T1 A11:A10,*+SP(40) ; |78|
MVKH .S1 _bMacAddr,A10 ; |79|
LDBU .D1T2 *A10,B5 ; |79|
|| MVKL .S1 SL9+0,A3 ; |79|
MVKH .S1 SL9+0,A3 ; |79|
STW .D2T1 A3,*+SP(4) ; |79|
LDBU .D1T1 *+A10(1),A8 ; |79|
LDBU .D1T1 *+A10(2),A5 ; |79|
|| STW .D2T2 B13,*+SP(36) ; |78|
LDBU .D1T1 *+A10(3),A3 ; |79|
|| MVKL .S2 _printf,B5 ; |79|
|| STW .D2T2 B5,*+SP(8) ; |79|
MVKH .S2 _printf,B5 ; |79|
|| LDBU .D1T1 *+A10(4),A6 ; |79|
CALL .S2 B5 ; |79|
|| LDBU .D1T1 *+A10(5),A7 ; |79|
STW .D2T1 A8,*+SP(12) ; |79|
STW .D2T1 A5,*+SP(16) ; |79|
STW .D2T1 A3,*+SP(20) ; |79|
STW .D2T1 A6,*+SP(24) ; |79|
|| MV .S2 B4,B10 ; |78|
ADDKPC .S2 RL7,B3,0 ; |79|
|| STW .D2T1 A7,*+SP(28) ; |79|
|| MV .L2 B3,B13 ; |78|
|| MV .D1 A4,A11 ; |78|
RL7: ; CALL OCCURS ; |79|
MVKL .S2 _mmCopy,B5 ; |84|
MVKH .S2 _mmCopy,B5 ; |84|
CALL .S2 B5 ; |84|
ADDKPC .S2 RL8,B3,1 ; |84|
MV .D1 A11,A4 ; |84|
MV .D2X A10,B4 ; |84|
MVK .S1 0x6,A6 ; |84|
RL8: ; CALL OCCURS ; |84|
LDW .D2T2 *+SP(36),B13 ; |86|
|| MV .S2 B13,B3 ; |86|
MVK .S2 15,B4 ; |85|
|| LDDW .D2T1 *+SP(40),A11:A10 ; |86|
RET .S2 B3 ; |86|
|| STW .D2T2 B4,*B10 ; |85|
LDW .D2T2 *++SP(48),B10 ; |86|
NOP 4
; BRANCH OCCURS ; |86|
;******************************************************************************
;* 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 "192.168.001.%03d",0
SL7: .string "192.168.001.077",0
SL8: .string "Link Status: %s",10,0
SL9: .string "Using MAC Address: %02x-%02x-%02x-%02x-%02x-%02x",10,0
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;******************************************************************************
.global _printf
.global _sprintf
.global _mmCopy
.global _EVMDM642_init
.global _EVMDM642_LED_init
.global _EVMDM642_EEPROM_read
.global _MDIO_phyRegWrite
.global _LocalIPAddr
.global __remi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -