📄 notch2.asm
字号:
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6, *
;* B7,B8,B9,SP *
;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6, *
;* B7,B8,B9,SP *
;* Local Frame Size : 0 Args + 0 Auto + 4 Save = 4 byte *
;******************************************************************************
;******************************************************************************
;* *
;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
;* *
;******************************************************************************
_main:
;** --------------------------------------------------------------------------*
.line 2
STW .D2T2 B3,*SP--(8) ; |38|
.line 3
CALL .S1 _comm_intr ; |39|
MVKL .S2 RL0,B3 ; |39|
MVKH .S2 RL0,B3 ; |39|
NOP 3
RL0: ; CALL OCCURS ; |39|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: Bad loop structure
;*----------------------------------------------------------------------------*
L1:
.line 4
B .S1 L1 ; |40|
NOP 5
; BRANCH OCCURS ; |40|
;** --------------------------------------------------------------------------*
.endfunc 41,000080000h,8
.sect ".text"
.global _c_int11
.sym _c_int11,_c_int11, 32, 2, 0
.func 10
;******************************************************************************
;* FUNCTION NAME: _c_int11 *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6, *
;* B7,B8,B9,B10,SP *
;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6, *
;* B7,B8,B9,B10,DP,SP *
;* Local Frame Size : 0 Args + 0 Auto + 88 Save = 88 byte *
;******************************************************************************
;******************************************************************************
;* *
;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
;* *
;******************************************************************************
_c_int11:
;** --------------------------------------------------------------------------*
.line 2
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop source line : 17
;* Loop opening brace source line : 18
;* Loop closing brace source line : 18
;* Loop Unroll Multiple : 4x
;* Known Minimum Trip Count : 22
;* Known Maximum Trip Count : 22
;* Known Max Trip Count Factor : 22
;* Loop Carried Dependency Bound(^) : 0
;* Unpartitioned Resource Bound : 2
;* Partitioned Resource Bound(*) : 2
;* Resource Partition:
;* A-side B-side
;* .L units 0 0
;* .S units 1 0
;* .D units 2* 2*
;* .M units 2* 2*
;* .X cross paths 2* 2*
;* .T address paths 2* 2*
;* Long read paths 0 0
;* Long write paths 0 0
;* Logical ops (.LS) 0 0 (.L or .S unit)
;* Addition ops (.LSD) 2 3 (.L or .S or .D unit)
;* Bound(.L .S .LS) 1 0
;* Bound(.L .S .D .LS .LSD) 2* 2*
;*
;* Searching for software pipeline schedule at ...
;* ii = 2 Schedule found with 5 iterations in parallel
;* Done
;*
;* Epilog not removed
;* Collapsed epilog stages : 0
;*
;* Prolog not entirely removed
;* Collapsed prolog stages : 2
;*
;* Minimum required memory pad : 0 bytes
;*
;* Minimum safe trip count : 4 (after unrolling)
;*----------------------------------------------------------------------------*
L2: ; PIPED LOOP PROLOG
STW .D2T2 B10,*SP--(88) ; |11|
STW .D2T2 B9,*+SP(84) ; |11|
STW .D2T2 B8,*+SP(80) ; |11|
STW .D2T2 B7,*+SP(76) ; |11|
STW .D2T2 B6,*+SP(72) ; |11|
STW .D2T2 B5,*+SP(68) ; |11|
STW .D2T2 B4,*+SP(64) ; |11|
STW .D2T2 B3,*+SP(60) ; |11|
STW .D2T2 B2,*+SP(56) ; |11|
STW .D2T2 B1,*+SP(52) ; |11|
STW .D2T2 B0,*+SP(48) ; |11|
STW .D2T1 A9,*+SP(44) ; |11|
STW .D2T1 A8,*+SP(40) ; |11|
STW .D2T1 A7,*+SP(36) ; |11|
STW .D2T1 A6,*+SP(32) ; |11|
STW .D2T1 A5,*+SP(28) ; |11|
STW .D2T1 A4,*+SP(24) ; |11|
STW .D2T1 A3,*+SP(20) ; |11|
STW .D2T1 A2,*+SP(16) ; |11|
STW .D2T1 A1,*+SP(12) ; |11|
STW .D2T1 A0,*+SP(8) ; |11|
.line 5
CALL .S2 _input_sample ; |14|
NOP 2
MVK .S2 (_dly1-$bss),B4 ; |14|
MVKL .S2 RL1,B3 ; |14|
ADD .D2 DP,B4,B10 ; |14|
|| MVKH .S2 RL1,B3 ; |14|
RL1: ; CALL OCCURS ; |14|
NOP 1
STH .D2T1 A4,*B10 ; |14|
.line 7
ZERO .D2 B4 ; |16|
STW .D2T2 B4,*+DP(_y2out) ; |16|
.line 8
MVK .S2 0x16,B9 ; |17|
SUB .D2 B9,5,B0
|| MVC .S2 CSR,B9
AND .S2 -2,B9,B7
MVK .S1 (_h900-8-$bss),A0
|| MVC .S2 B7,CSR ; interrupts off
SUB .L1X B10,8,A5
|| ADD .S2X DP,A0,B5
|| B .S1 L3 ; |18| (P) <0,3>
LDW .D2T2 *++B5(8),B8 ; |18| (P) <0,0>
|| LDW .D1T1 *++A5(8),A4 ; |18| (P) <0,0>
ZERO .L1 A3 ; |17|
|| LDW .D1T1 *+A5(4),A4 ; |18| (P) <0,1>
|| B .S1 L3 ; |18| (P) <1,3>
|| LDW .D2T2 *+B5(4),B8 ; |18| (P) <0,1>
ZERO .S2 B6 ; |17|
|| MVK .S1 0x2,A1 ; init prolog collapse predicate
|| ZERO .L1 A0 ; |17|
|| LDW .D1T1 *++A5(8),A4 ; |18| (P) <1,0>
|| LDW .D2T2 *++B5(8),B8 ; |18| (P) <1,0>
;** --------------------------------------------------------------------------*
L3: ; PIPED LOOP KERNEL
[!A1] ADD .S2 B7,B6,B6 ; |18| <0,7>
|| [!A1] ADD .L1 A6,A3,A3 ; |18| <0,7>
|| MPYH .M2X B8,A4,B7 ; |18| <1,5>
|| MPY .M1X B8,A4,A6 ; |18| <1,5>
|| [ B0] B .S1 L3 ; |18| <2,3>
|| LDW .D1T1 *+A5(4),A4 ; |18| <3,1>
|| LDW .D2T2 *+B5(4),B8 ; |18| <3,1>
[ A1] SUB .S1 A1,1,A1 ; <0,8>
|| [!A1] ADD .L2 B7,B4,B4 ; |18| <0,8>
|| [!A1] ADD .L1 A6,A0,A0 ; |18| <0,8>
|| MPYH .M2X B8,A4,B7 ; |18| <1,6>
|| MPY .M1X B8,A4,A6 ; |18| <1,6>
|| [ B0] SUB .S2 B0,1,B0 ; |18| <3,2>
|| LDW .D1T1 *++A5(8),A4 ; |18| <4,0>
|| LDW .D2T2 *++B5(8),B8 ; |18| <4,0>
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop source line : 21
;* Loop opening brace source line : 22
;* Loop closing brace source line : 22
;* Loop Unroll Multiple : 4x
;* Known Minimum Trip Count : 22
;* Known Maximum Trip Count : 22
;* Known Max Trip Count Factor : 22
;* Loop Carried Dependency Bound(^) : 0
;* Unpartitioned Resource Bound : 2
;* Partitioned Resource Bound(*) : 2
;* Resource Partition:
;* A-side B-side
;* .L units 0 0
;* .S units 1 0
;* .D units 2* 2*
;* .M units 2* 2*
;* .X cross paths 2* 2*
;* .T address paths 2* 2*
;* Long read paths 0 0
;* Long write paths 0 0
;* Logical ops (.LS) 0 0 (.L or .S unit)
;* Addition ops (.LSD) 2 3 (.L or .S or .D unit)
;* Bound(.L .S .LS) 1 0
;* Bound(.L .S .D .LS .LSD) 2* 2*
;*
;* Searching for software pipeline schedule at ...
;* ii = 2 Schedule found with 5 iterations in parallel
;* Done
;*
;* Epilog not removed
;* Collapsed epilog stages : 0
;*
;* Prolog not entirely removed
;* Collapsed prolog stages : 2
;*
;* Minimum required memory pad : 0 bytes
;*
;* Minimum safe trip count : 4 (after unrolling)
;*----------------------------------------------------------------------------*
L4: ; PIPED LOOP EPILOG AND PROLOG
ADD .S2 B7,B6,B5 ; |18| (E) <1,7>
|| ADD .S1 A6,A3,A3 ; |18| (E) <1,7>
|| MPY .M1X B8,A4,A0 ; |18| (E) <2,5>
|| LDW .D1T1 *+A5(4),A4 ; |18| (E) <4,1>
|| LDW .D2T2 *+B5(4),B8 ; |18| (E) <4,1>
|| MPYH .M2X B8,A4,B7 ; |18| (E) <2,5>
ADD .S2 B7,B4,B4 ; |18| (E) <1,8>
|| ADD .D1 A6,A0,A5 ; |18| (E) <1,8>
|| MPYH .M2X B8,A4,B7 ; |18| (E) <2,6>
|| MPY .M1X B8,A4,A0 ; |18| (E) <2,6>
|| LDH .D2T2 *+DP(_h900+176),B6
ADD .S2 B7,B5,B0 ; |18| (E) <2,7>
|| ADD .D1 A0,A3,A3 ; |18| (E) <2,7>
|| MPY .M1X B8,A4,A0 ; |18| (E) <3,5>
|| MPYH .M2X B8,A4,B7 ; |18| (E) <3,5>
|| LDH .D2T2 *+DP(_dly1+176),B5
ADD .D2 B7,B4,B4 ; |18| (E) <2,8>
|| ADD .D1 A0,A5,A5 ; |18| (E) <2,8>
|| MPY .M1X B8,A4,A0 ; |18| (E) <3,6>
|| MPYH .M2X B8,A4,B7 ; |18| (E) <3,6>
ADD .D2 B7,B0,B0 ; |18| (E) <3,7>
|| ADD .D1 A0,A3,A3 ; |18| (E) <3,7>
|| MPYH .M2X B8,A4,B7 ; |18| (E) <4,5>
|| MPY .M1X B8,A4,A4 ; |18| (E) <4,5>
ADD .D2 B7,B4,B4 ; |18| (E) <3,8>
|| ADD .D1 A0,A5,A0 ; |18| (E) <3,8>
|| MPYH .M2X B8,A4,B7 ; |18| (E) <4,6>
|| MPY .M1X B8,A4,A6 ; |18| (E) <4,6>
MVC .S2 B9,CSR ; interrupts on
|| ADD .D1 A4,A3,A3 ; |18| (E) <4,7>
|| ADD .D2 B7,B0,B8 ; |18| (E) <4,7>
ADD .D2 B7,B4,B5 ; |18| (E) <4,8>
|| ADD .D1 A6,A0,A0 ; |18| (E) <4,8>
|| MPY .M2 B6,B5,B4
NOP 1
ADD .S2X A3,B4,B4
ADD .D2 B8,B4,B4
ADD .S2X A0,B4,B4
ADD .D2 B5,B4,B5
STW .D2T2 B5,*+DP(_y1out)
.line 11
MVK .S2 (_dly2-$bss),B4 ; |20|
SHR .S2 B5,15,B5 ; |20|
|| ADD .D2 DP,B4,B4 ; |20|
STH .D2T2 B5,*B4 ; |20|
.line 12
ZERO .D2 B4 ; |21|
|| ZERO .D1 A3 ; |21|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -