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

📄 main.asm

📁 自己编写的任意矩阵相乘的DSP程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
   [ B0]   STW     .D2T2   B1,*+B2(4)        ; |20| <0,49> 
||         ADD     .L2X    A15,B4,B4         ; |15| <1,32> 
||         LDH     .D1T1   *A31++,A4         ; |15| <2,15> 
||         MPYHL   .M2     B27,B5,DP         ; |15| <2,15> 
||         MPYHL   .M1     A10,A3,A3         ; |15| <2,15> 

   [ B0]   MV      .L2     DP,B3             ; |20| <0,50> 
|| [ B0]   STW     .D2T2   B31,*+B2(8)       ; |20| <0,50>  ^ 
||         ADD     .S2     1,B31,B31         ; |11| <0,50>  ^ 
||         LDH     .D1T1   *A29++,A13        ; |15| <2,16> 
||         MPY     .M2X    B25,A3,SP         ; |15| <2,16> 
||         MPY     .M1X    B27,A14,A14       ; |15| <2,16> 

DW$L$_matrix_mpyc$5$E:
;** --------------------------------------------------------------------------*
L5:    ; PIPED LOOP EPILOG

           MPY     .M1     A6,A12,A13        ; |15| (E) <1,34> 
||         ADD     .L2X    A15,B4,B4         ; |15| (E) <1,34> 
||         LDH     .D1T1   *A28++,A3         ; |15| (E) <2,17> 
||         ADD     .L1X    SP,A3,A3          ; |15| (E) <2,17> 
||         MPY     .M2     B20,B0,B4         ; |15| (E) <1,34> 

           LDH     .D2T2   *B18++,B7         ; |15| (E) <1,35> 
||         ADD     .L2X    A13,B4,B5         ; |15| (E) <1,35> 
||         LDH     .D1T1   *A26++,A13        ; |15| (E) <2,18> 
||         ADD     .L1X    DP,A3,A3          ; |15| (E) <2,18> 
||         MPYHL   .M2     B23,B5,B0         ; |15| (E) <1,35> 

           LDH     .D2T2   *B16++,B6         ; |15| (E) <1,36> 
||         ADD     .L2X    A4,B5,B5          ; |15| (E) <1,36> 
||         MPYHL   .M1     A6,A15,A4         ; |15| (E) <2,19> 
||         MPYHL   .M2     B25,B0,B5         ; |15| (E) <2,19> 
||         ADD     .L1     A14,A3,A3         ; |15| (E) <2,19> 
||         LDH     .D1T1   *A25++,A14        ; |15| (E) <2,19> 

           LDH     .D2T2   *+B13[B31],B6     ; |15| (E) <1,37>  ^ 
||         ADD     .L2X    A13,B5,B6         ; |15| (E) <1,37> 
||         LDH     .D1T1   *A23++,A14        ; |15| (E) <2,20> 
||         MPYHL   .M1     A30,A4,A14        ; |15| (E) <2,20> 
||         MPY     .M2     B23,B6,B6         ; |15| (E) <1,37> 

           LDH     .D2T2   *+B12[B31],B6     ; |15| (E) <1,38> 
||         ADD     .L2     B0,B6,B0          ; |15| (E) <1,38> 
||         LDH     .D1T1   *A22++,A14        ; |15| (E) <2,21> 
||         MPY     .M1     A30,A13,A3        ; |15| (E) <2,21> 
||         ADD     .S2X    B5,A3,B5          ; |15| (E) <2,21> 
||         MPYHL   .M2     B20,B7,B6         ; |15| (E) <1,38> 

           LDH     .D2T2   *+B11[B31],B5     ; |15| (E) <1,39> 
||         ADD     .L2     B6,B0,B0          ; |15| (E) <1,39> 
||         MPYHL   .M1     A27,A3,A13        ; |15| (E) <2,22> 
||         ADD     .S2     SP,B5,B5          ; |15| (E) <2,22> 
||         LDH     .D1T1   *A20++,A14        ; |15| (E) <2,22> 

           MPYHL   .M2     B17,B7,B5         ; |15| (E) <1,40> 
||         ADD     .L2     B6,B0,B7          ; |15| (E) <1,40> 
||         LDH     .D1T1   *A19++,A14        ; |15| (E) <2,23> 
||         MPY     .M1     A27,A13,A3        ; |15| (E) <2,23> 
||         ADD     .S2X    A14,B5,B5         ; |15| (E) <2,23> 
||         LDH     .D2T2   *+B10[B31],B6     ; |15| (E) <1,40> 

           MVC     .S2     IRP,SP            ; restore sp
||         MPY     .M2     B17,B6,B5         ; |15| (E) <1,41> 
||         ADD     .L2     B4,B7,B7          ; |15| (E) <1,41> 
||         MPYHL   .M1     A24,A14,A13       ; |15| (E) <2,24> 
||         ADD     .D2X    A3,B5,B4          ; |15| (E) <2,24> 
||         LDH     .D1T1   *A17++,A14        ; |15| (E) <2,24> 

           MPYHL   .M2     B9,B6,B6          ; |15| (E) <1,42>  ^ 
||         ADD     .L2     B5,B7,B7          ; |15| (E) <1,42> 
||         LDH     .D1T1   *A8++,A14         ; |15| (E) <2,25> 
||         MPY     .M1     A24,A14,A3        ; |15| (E) <2,25> 
||         ADD     .S2X    A13,B4,B4         ; |15| (E) <2,25> 
||         LDH     .D2T2   *B21++,B7         ; |15| (E) <2,25> 

           MPY     .M2     B9,B6,B5          ; |15| (E) <1,43> 
||         ADD     .L2     B5,B7,B7          ; |15| (E) <1,43> 
||         MPYHL   .M1     A21,A14,A13       ; |15| (E) <2,26> 
||         ADD     .S2X    A3,B4,B4          ; |15| (E) <2,26> 
||         LDH     .D2T2   *B22++,B6         ; |15| (E) <2,26> 

           ADD     .L2     B6,B7,B7          ; |15| (E) <1,44>  ^ 
||         MPY     .M1     A21,A14,A3        ; |15| (E) <2,27> 
||         ADD     .S2X    A13,B4,B4         ; |15| (E) <2,27> 
||         MPYHL   .M2     B8,B5,B6          ; |15| (E) <1,44> 

           MPY     .M2     B8,B6,B5          ; |15| (E) <1,45> 
||         ADD     .L2     B5,B7,B4          ; |15| (E) <1,45>  ^ 
||         MPYHL   .M1     A18,A14,A13       ; |15| (E) <2,28> 
||         ADD     .S2X    A3,B4,B5          ; |15| (E) <2,28> 
||         LDH     .D2T2   *B24++,B5         ; |15| (E) <2,28> 

           ADD     .L2     B6,B4,B4          ; |15| (E) <1,46>  ^ 
||         LDH     .D2T2   *B19++,B0         ; |15| (E) <2,29> 
||         MPY     .M1     A18,A14,A15       ; |15| (E) <2,29> 
||         ADD     .S2X    A13,B5,B6         ; |15| (E) <2,29> 
||         LDH     .D1T1   *A5++,A12         ; |15| (E) <2,29> 

           ADD     .L2     B5,B4,DP          ; |15| (E) <1,47>  ^ 
||         ADD     .S2X    A3,B6,B4          ; |15| (E) <2,30> 
||         MPY     .M1     A9,A14,A13        ; |15| (E) <2,30> 

           STW     .D2T2   DP,*B30++         ; |19| (E) <1,48> 
||         MPYHL   .M1     A9,A12,A15        ; |15| (E) <2,31> 
||         ADD     .S2X    A13,B4,B4         ; |15| (E) <2,31> 
||         CMPGT   .L2     DP,B3,B0          ; (E) <1,48>  ^ 

           ADD     .L2X    A15,B4,B4         ; |15| (E) <2,32> 
|| [ B0]   STW     .D2T2   B1,*+B2(4)        ; |20| (E) <1,49> 

   [ B0]   MV      .L2     DP,B3             ; |20| (E) <1,50> 
||         ADD     .S2     1,B31,B31         ; |11| (E) <1,50>  ^ 
|| [ B0]   STW     .D2T2   B31,*+B2(8)       ; |20| (E) <1,50>  ^ 

           MPY     .M1     A6,A12,A13        ; |15| (E) <2,34> 
||         ADD     .L2X    A15,B4,B4         ; |15| (E) <2,34> 
||         MPY     .M2     B20,B0,B4         ; |15| (E) <2,34> 

           LDH     .D2T2   *B18++,B7         ; |15| (E) <2,35> 
||         ADD     .L2X    A13,B4,B5         ; |15| (E) <2,35> 
||         MPYHL   .M2     B23,B5,B0         ; |15| (E) <2,35> 

           ADD     .L2X    A4,B5,B5          ; |15| (E) <2,36> 
||         LDH     .D2T2   *B16++,B6         ; |15| (E) <2,36> 

           MPY     .M2     B23,B6,B6         ; |15| (E) <2,37> 
||         ADD     .L2X    A13,B5,B6         ; |15| (E) <2,37> 
||         LDH     .D2T2   *+B13[B31],B6     ; |15| (E) <2,37>  ^ 

           LDH     .D2T2   *+B12[B31],B6     ; |15| (E) <2,38> 
||         ADD     .L2     B0,B6,B0          ; |15| (E) <2,38> 
||         MPYHL   .M2     B20,B7,B6         ; |15| (E) <2,38> 

           ADD     .L2     B6,B0,B0          ; |15| (E) <2,39> 
||         LDH     .D2T2   *+B11[B31],B5     ; |15| (E) <2,39> 

           MPYHL   .M2     B17,B7,B5         ; |15| (E) <2,40> 
||         ADD     .L2     B6,B0,B7          ; |15| (E) <2,40> 
||         LDH     .D2T2   *+B10[B31],B6     ; |15| (E) <2,40> 

           ADD     .L2     B4,B7,B7          ; |15| (E) <2,41> 
||         MPY     .M2     B17,B6,B5         ; |15| (E) <2,41> 

           ADD     .L2     B5,B7,B7          ; |15| (E) <2,42> 
||         MPYHL   .M2     B9,B6,B6          ; |15| (E) <2,42>  ^ 

           ADD     .L2     B5,B7,B7          ; |15| (E) <2,43> 
||         MPY     .M2     B9,B6,B5          ; |15| (E) <2,43> 

           ADD     .L2     B6,B7,B7          ; |15| (E) <2,44>  ^ 
||         MPYHL   .M2     B8,B5,B6          ; |15| (E) <2,44> 

           ADD     .L2     B5,B7,B4          ; |15| (E) <2,45>  ^ 
||         MPY     .M2     B8,B6,B5          ; |15| (E) <2,45> 

;** --------------------------------------------------------------------------*
DW$L$_matrix_mpyc$7$B:
           ADD     .L2     B6,B4,B4          ; |15| (E) <2,46>  ^ 
           ADD     .L2     B5,B4,DP          ; |15| (E) <2,47>  ^ 

           CMPGT   .L2     DP,B3,B0          ; (E) <2,48>  ^ 
||         STW     .D2T2   DP,*B30++         ; |19| (E) <2,48> 

   [ B0]   STW     .D2T2   B1,*+B2(4)        ; |20| (E) <2,49> 
|| [ B0]   MV      .L2     DP,B3             ; |20| (E) <2,50> 

   [ B0]   STW     .D2T2   B31,*+B2(8)       ; |20| (E) <2,50>  ^ 
           LDW     .D2T2   *+SP(160),B4
           LDW     .D2T2   *+SP(164),B29
           LDW     .D2T2   *+SP(156),DP
           NOP             2
           MVC     .S2     B4,IRP            ; restore irp
           MVC     .S2     B29,CSR           ; interrupts on
	.dwpsn	"D:\CCStudio_v3.1\MyProjects\matrix\matrix_mpyc.c",10,17

           LDW     .D2T1   *+SP(116),A3      ; |10| 
||         ADD     .L2     1,B1,B1           ; |10| 

           LDW     .D2T2   *+SP(40),B4
           LDW     .D2T1   *+SP(96),A31      ; |10| 
           LDW     .D2T2   *+SP(52),B27      ; |10| 
           LDW     .D2T2   *+SP(56),B28      ; |10| 

           ADDK    .S1     60,A3             ; |10| 
||         LDW     .D2T1   *+SP(140),A30     ; |10| 

           STW     .D2T1   A3,*+SP(116)      ; |10| 
||         ADDK    .S2     60,B4             ; |10| 

           LDW     .D2T1   *+SP(120),A3      ; |10| 
||         ADDK    .S1     60,A31            ; |10| 

           LDW     .D2T2   *+SP(8),B25       ; |10| 
||         ADDK    .S2     60,B27            ; |10| 

           LDW     .D2T2   *+SP(148),B26     ; |10| 
||         ADDK    .S2     60,B28            ; |10| 

           ADDK    .S1     60,A30            ; |10| 
||         STW     .D2T2   B28,*+SP(56)      ; |10| 

           STW     .D2T1   A30,*+SP(140)     ; |10| 

           ADDK    .S1     60,A3             ; |10| 
||         STW     .D2T2   B4,*+SP(40)       ; |10| 

           ADDK    .S2     60,B25            ; |10| 
||         STW     .D2T1   A3,*+SP(120)      ; |10| 

           ADDK    .S2     40,B26            ; |10| 
||         STW     .D2T1   A31,*+SP(96)      ; |10| 

           STW     .D2T2   B27,*+SP(52)      ; |10| 
           STW     .D2T2   B25,*+SP(8)       ; |10| 
           STW     .D2T2   B26,*+SP(148)     ; |10| 
	.dwpsn	"D:\CCStudio_v3.1\MyProjects\matrix\matrix_mpyc.c",10,13
           LDW     .D2T2   *+SP(152),B4
           NOP             4

           SUB     .L2     B4,1,B4           ; |10| 
||         SUB     .L1X    B4,1,A0           ; |10| 

           STW     .D2T2   B4,*+SP(152)      ; |10| 
|| [ A0]   B       .S1     L2                ; |10| 

   [ A0]   LDNDW   .D1T1   *A3,A9:A8
           LDW     .D2T1   *+SP(96),A3
   [ A0]   LDW     .D2T2   *+SP(52),B16
   [ A0]   LDW     .D2T2   *+SP(56),B31
   [ A0]   LDW     .D2T2   *+SP(8),B4
           ; BRANCHCC OCCURS {L2}            ; |10| 
DW$L$_matrix_mpyc$7$E:
;** --------------------------------------------------------------------------*
           STW     .D2T2   B3,*B2
	.dwpsn	"D:\CCStudio_v3.1\MyProjects\matrix\matrix_mpyc.c",23,1
           LDDW    .D2T2   *+SP(200),B13:B12 ; |23| 
	.dwcfa	0xc0, 28
	.dwcfa	0xc0, 29
           LDDW    .D2T2   *+SP(192),B11:B10 ; |23| 
	.dwcfa	0xc0, 26
	.dwcfa	0xc0, 27
           LDW     .D2T2   *+SP(188),B3      ; |23| 
	.dwcfa	0xc0, 19
           LDW     .D2T1   *+SP(184),A14     ; |23| 
	.dwcfa	0xc0, 14
           LDDW    .D2T1   *+SP(176),A13:A12 ; |23| 
	.dwcfa	0xc0, 12
	.dwcfa	0xc0, 13
           LDDW    .D2T1   *+SP(168),A11:A10 ; |23| 
	.dwcfa	0xc0, 10
	.dwcfa	0xc0, 11
           LDW     .D2T1   *+SP(208),A15     ; |23| 
	.dwcfa	0xc0, 15
           ADDK    .S2     208,SP            ; |23| 
	.dwcfa	0x0e, 0
           RETNOP  .S2     B3,5              ; |23| 
           ; BRANCH OCCURS {B3}              ; |23| 

DW$21	.dwtag  DW_TAG_loop
	.dwattr DW$21, DW_AT_name("D:\CCStudio_v3.1\MyProjects\matrix\main.asm:L2:1:1134195401")
	.dwattr DW$21, DW_AT_begin_file("D:\CCStudio_v3.1\MyProjects\matrix\matrix_mpyc.c")
	.dwattr DW$21, DW_AT_begin_line(0x0a)
	.dwattr DW$21, DW_AT_end_line(0x14)
DW$22	.dwtag  DW_TAG_loop_range
	.dwattr DW$22, DW_AT_low_pc(DW$L$_matrix_mpyc$3$B)
	.dwattr DW$22, DW_AT_high_pc(DW$L$_matrix_mpyc$3$E)
DW$23	.dwtag  DW_TAG_loop_range
	.dwattr DW$23, DW_AT_low_pc(DW$L$_matrix_mpyc$7$B)
	.dwattr DW$23, DW_AT_high_pc(DW$L$_matrix_mpyc$7$E)

DW$24	.dwtag  DW_TAG_loop
	.dwattr DW$24, DW_AT_name("D:\CCStudio_v3.1\MyProjects\matrix\main.asm:L4:2:1134195401")
	.dwattr DW$24, DW_AT_begin_file("D:\CCStudio_v3.1\MyProjects\matrix\matrix_mpyc.c")
	.dwattr DW$24, DW_AT_begin_line(0x0b)
	.dwattr DW$24, DW_AT_end_line(0x15)
DW$25	.dwtag  DW_TAG_loop_range
	.dwattr DW$25, DW_AT_low_pc(DW$L$_matrix_mpyc$5$B)
	.dwattr DW$25, DW_AT_high_pc(DW$L$_matrix_mpyc$5$E)
	.dwendtag DW$24

	.dwendtag DW$21

	.dwattr DW$9, DW_AT_end_file("D:\CCStudio_v3.1\MyProjects\matrix\matrix_mpyc.c")
	.dwattr DW$9, DW_AT_end_line(0x17)
	.dwattr DW$9, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$9

	.sect	".text"
	.global	_main

DW$26	.dwtag  DW_TAG_subprogram, DW_AT_name("main"), DW_AT_symbol_name("_main")
	.dwattr DW$26, DW_AT_low_pc(_main)
	.dwattr DW$26, DW_AT_high_pc(0x00)
	.dwattr DW$26, DW_AT_begin_file("D:\CCStudio_v3.1\MyProjects\matrix\main.c")
	.dwattr DW$26, DW_AT_begin_line(0x1c)
	.dwattr DW$26, DW_AT_begin_column(0x06)
	.dwpsn	"D:\CCStudio_v3.1\MyProjects\matrix\main.c",29,1

	.dwfde DW$CIE

;******************************************************************************
;* FUNCTION NAME: _main                                                       *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,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                              *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,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  : 16 Args + 0 Auto + 28 Save = 44 byte                 *
;*******************************************

⌨️ 快捷键说明

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