⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 func.asm

📁 DSP培训 作业【源码】
💻 ASM
📖 第 1 页 / 共 2 页
字号:
           MVC     .S2     B8,CSR            ; interrupts on
           STW     .D2T2   B7,*B5++          ; |55| (E) <5,11> 
	.line	36
           RET     .S2     B3                ; |67| 
           NOP             5
           ; BRANCH OCCURS                   ; |67| 
	.endfunc	67,000000000h,0



	.sect	".text"
	.global	_main
	.file	"D:\DM642Training\6thday\src\intrisincs\main.c"
	.sym	_main,_main, 32, 2, 0
	.func	15

;******************************************************************************
;* FUNCTION NAME: _main                                                       *
;*                                                                            *
;*   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,B11,B12,B13,SP                *
;*   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,B12,B13,DP,SP             *
;*   Local Frame Size  : 0 Args + 0 Auto + 28 Save = 28 byte                  *
;******************************************************************************

;******************************************************************************
;*                                                                            *
;* Using -g (debug) with optimization (-o3) may disable key optimizations!    *
;*                                                                            *
;******************************************************************************
_main:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_i,0, 4, 4, 32
           STW     .D2T2   B13,*SP--(32)     ; |16| 
           STW     .D2T2   B11,*+SP(28)      ; |16| 
           STW     .D2T2   B10,*+SP(24)      ; |16| 
           STW     .D2T2   B12,*+SP(20)      ; |16| 
           STW     .D2T2   B3,*+SP(16)       ; |16| 
           STW     .D2T1   A11,*+SP(12)      ; |16| 
           STW     .D2T1   A10,*+SP(8)       ; |16| 
	.line	6

           MVK     .S2     (_array1-8-$bss),B4
||         ZERO    .D1     A0                ; |20| 
||         MVK     .S1     (_array2-8-$bss),A4

           MVC     .S2     CSR,B13
||         ADD     .S1X    DP,A4,A10
||         INTDP   .L1     A0,A5:A4          ; |22| (P) <0,0>  ^ 

           ADD     .D1     1,A0,A9           ; |22| (P) <0,1>  ^ 
||         ADD     .D2     DP,B4,B10
||         AND     .S2     -2,B13,B4

           ZERO    .D2     B3                ; |22| (P) <0,4>  ^ 
||         MVC     .S2     B4,CSR            ; interrupts off
||         INTDP   .L2X    A9,B5:B4          ; |22| (P) <0,2>  ^ 

           ZERO    .D2     B1                ; |23| (P) <0,3>  ^ 
||         MVKH    .S2     0x3ff80000,B3     ; |22| (P) <0,5>  ^ 

           ZERO    .D2     B2                ; |22| 
||         ZERO    .L2     B0                ; |23| 
||         MVKH    .S2     0x3ff80000,B1     ; |23| (P) <0,4>  ^ 

           ZERO    .D1     A9                ; |23| (P) <0,4>  ^ 
||         SUBDP   .L1X    B1:B0,A5:A4,A7:A6 ; |23| (P) <0,5>  ^ 
||         ADDDP   .L2X    B3:B2,A5:A4,B7:B6 ; |22| (P) <0,6>  ^ 

           ZERO    .D1     A8                ; |23| 
||         MVKH    .S1     0x3ff80000,A9     ; |23| (P) <0,7>  ^ 

           SUBDP   .L2X    A9:A8,B5:B4,B9:B8 ; |23| (P) <0,8>  ^ 

           MVK     .S1     0x80,A3           ; |20| 
||         ADD     .D1     2,A0,A0           ; |24| (P) <0,9>  ^ 

           SUB     .D1     A3,1,A1
||         INTDP   .L1     A0,A5:A4          ; |22| (P) <1,0>  ^ 

           ZERO    .D1     A3                ; |22| (P) <0,5>  ^ 
||         ADD     .S1     1,A0,A9           ; |22| (P) <1,1>  ^ 

;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*
;*      Loop source line                 : 20
;*      Loop opening brace source line   : 21
;*      Loop closing brace source line   : 24
;*      Loop Unroll Multiple             : 2x
;*      Known Minimum Trip Count         : 128
;*      Known Maximum Trip Count         : 128
;*      Known Max Trip Count Factor      : 128
;*      Loop Carried Dependency Bound(^) : 1
;*      Unpartitioned Resource Bound     : 7
;*      Partitioned Resource Bound(*)    : 8
;*      Resource Partition:
;*                                A-side   B-side
;*      .L units                     8*       8*    
;*      .S units                     2        3     
;*      .D units                     2        2     
;*      .M units                     0        0     
;*      .X cross paths               4        5     
;*      .T address paths             2        2     
;*      Long read paths              2        2     
;*      Long write paths             0        0     
;*      Logical  ops (.LS)           0        0     (.L or .S unit)
;*      Addition ops (.LSD)          5        2     (.L or .S or .D unit)
;*      Bound(.L .S .LS)             5        6     
;*      Bound(.L .S .D .LS .LSD)     6        5     
;*
;*      Searching for software pipeline schedule at ...
;*         ii = 8  Did not find schedule
;*         ii = 9  Did not find schedule
;*         ii = 10 Register is live too long
;*         ii = 10 Register is live too long
;*         ii = 10 Schedule found with 3 iterations in parallel
;*      Done
;*
;*      Epilog not entirely removed
;*      Collapsed epilog stages     : 1
;*
;*      Prolog not removed
;*      Collapsed prolog stages     : 0
;*
;*      Minimum required memory pad : 0 bytes
;*
;*      Minimum safe trip count     : 2 (after unrolling)
;*----------------------------------------------------------------------------*
L6:    ; PIPED LOOP PROLOG

           ZERO    .D1     A2                ; |22| 
||         MVKH    .S1     0x3ff80000,A3     ; |22| (P) <0,6>  ^ 
||         INTDP   .L2X    A9,B5:B4          ; |22| (P) <1,2>  ^ 

           ZERO    .D2     B1                ; |23| (P) <1,3>  ^ 
||         ADDDP   .L1X    A3:A2,B5:B4,A5:A4 ; |22| (P) <0,13>  ^ 

           ZERO    .D1     A9                ; |23| (P) <1,4>  ^ 
||         ZERO    .D2     B3                ; |22| (P) <1,4>  ^ 
||         MVKH    .S2     0x3ff80000,B1     ; |23| (P) <1,4>  ^ 
||         DPSP    .L2     B7:B6,B11         ; |22| (P) <0,14>  ^ 

           DPSP    .L2     B9:B8,B12         ; |23| (P) <0,15>  ^ 
||         ZERO    .D1     A3                ; |22| (P) <1,5>  ^ 
||         SUBDP   .L1X    B1:B0,A5:A4,A7:A6 ; |23| (P) <1,5>  ^ 
||         MVKH    .S2     0x3ff80000,B3     ; |22| (P) <1,5>  ^ 

           MVKH    .S1     0x3ff80000,A3     ; |22| (P) <1,6>  ^ 
||         ADDDP   .L2X    B3:B2,A5:A4,B7:B6 ; |22| (P) <1,6>  ^ 

;** --------------------------------------------------------------------------*
L7:    ; PIPED LOOP KERNEL
           MVKH    .S1     0x3ff80000,A9     ; |23| <1,7>  ^ 
           SUBDP   .L2X    A9:A8,B5:B4,B9:B8 ; |23| <1,8>  ^ 

           DPSP    .L1     A7:A6,A11         ; |23| <0,19>  ^ 
||         ADD     .D1     2,A0,A0           ; |24| <1,9>  ^ 

   [ A1]   SUB     .D1     A1,1,A1           ; |24| <0,20>  ^ 
||         INTDP   .L1     A0,A5:A4          ; |22| <2,0>  ^ 

   [ A1]   B       .S2     L7                ; |24| <0,21> 
||         ADD     .D1     1,A0,A9           ; |22| <2,1>  ^ 

           DPSP    .L1     A5:A4,A11         ; |22| <0,22>  ^ 
||         INTDP   .L2X    A9,B5:B4          ; |22| <2,2>  ^ 

           ADDDP   .L1X    A3:A2,B5:B4,A5:A4 ; |22| <1,13>  ^ 
||         ZERO    .D2     B1                ; |23| <2,3>  ^ 

           DPSP    .L2     B7:B6,B11         ; |22| <1,14>  ^ 
||         ZERO    .D1     A9                ; |23| <2,4>  ^ 
||         ZERO    .D2     B3                ; |22| <2,4>  ^ 
||         MVKH    .S2     0x3ff80000,B1     ; |23| <2,4>  ^ 

           STW     .D2T2   B11,*++B10(8)     ; |22| <0,25>  ^ 
||         STW     .D1T1   A11,*++A10(8)     ; |23| <0,25>  ^ 
||         DPSP    .L2     B9:B8,B12         ; |23| <1,15>  ^ 
||         ZERO    .S1     A3                ; |22| <2,5>  ^ 
||         MVKH    .S2     0x3ff80000,B3     ; |22| <2,5>  ^ 
||         SUBDP   .L1X    B1:B0,A5:A4,A7:A6 ; |23| <2,5>  ^ 

           STW     .D2T1   A11,*+B10(4)      ; |22| <0,26>  ^ 
||         STW     .D1T2   B12,*+A10(4)      ; |23| <0,26>  ^ 
||         MVKH    .S1     0x3ff80000,A3     ; |22| <2,6>  ^ 
||         ADDDP   .L2X    B3:B2,A5:A4,B7:B6 ; |22| <2,6>  ^ 

;** --------------------------------------------------------------------------*
L8:    ; PIPED LOOP EPILOG
           MVK     .S1     (_array2-$bss),A3
           MVK     .S1     (_array1-$bss),A0
           DPSP    .L1     A7:A6,A11         ; |23| (E) <2,19>  ^ 
           NOP             2
           DPSP    .L1     A5:A4,A11         ; |22| (E) <2,22>  ^ 
           NOP             2

           MVC     .S2     B13,CSR           ; interrupts on
||         STW     .D1T1   A11,*++A10(8)     ; |23| (E) <2,25>  ^ 
||         STW     .D2T2   B11,*++B10(8)     ; |22| (E) <2,25>  ^ 

           ADD     .S1X    DP,A3,A10
||         ADD     .S2X    DP,A0,B10
||         STW     .D2T1   A11,*+B10(4)      ; |22| (E) <2,26>  ^ 
||         STW     .D1T2   B12,*+A10(4)      ; |23| (E) <2,26>  ^ 

	.line	12

           MV      .D1     A10,A6            ; |26| 
||         CALL    .S2     _func1            ; |26| 

           MVK     .S2     (_output-$bss),B4 ; |26| 

           MV      .D2     B10,B4            ; |26| 
||         MVKL    .S2     RL1,B3            ; |26| 
||         ADD     .L2     DP,B4,B11         ; |26| 

           MV      .S1X    B11,A4            ; |26| 
||         MVKH    .S2     RL1,B3            ; |26| 

           MVK     .S2     0x100,B6          ; |26| 
           NOP             1
RL1:       ; CALL OCCURS                     ; |26| 
           NOP             1
           MV      .S1X    B11,A4            ; |26| 
	.line	13

           MV      .D1     A10,A6            ; |27| 
||         MV      .D2     B10,B4            ; |27| 
||         CALL    .S2     _func2            ; |27| 

           MVKL    .S2     RL2,B3            ; |27| 
           MVKH    .S2     RL2,B3            ; |27| 
           MVK     .S2     0x100,B6          ; |27| 
           NOP             2
RL2:       ; CALL OCCURS                     ; |27| 
	.line	22
           NOP             1
           LDW     .D2T2   *+SP(16),B3       ; |36| 
           LDW     .D2T2   *+SP(20),B12      ; |36| 
           LDDW    .D2T2   *+SP(24),B11:B10  ; |36| 
           LDDW    .D2T1   *+SP(8),A11:A10   ; |36| 
           LDW     .D2T2   *++SP(32),B13     ; |36| 
           RET     .S2     B3                ; |36| 
           NOP             5
           ; BRANCH OCCURS                   ; |36| 
	.endfunc	36,03c080c00h,32


;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES                                              *
;******************************************************************************
	.global	__divf

;******************************************************************************
;* TYPE INFORMATION                                                           *
;******************************************************************************

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -